在方法中显示数组
本文关键字:数组 显示 方法 | 更新日期: 2023-09-27 18:12:44
这与我之前发布的另一个代码有关,但由于这是一个不同的问题,我决定做一个新的帖子。我目前被这段代码卡住了,我是c#初学者,所以这对我来说看起来很复杂。我一直在研究这段代码,它应该从用户那里得到一个数组,计算它的平均值,然后在show()中显示结果。我得到了这个工作来显示数组的平均值,但现在我需要实际显示数组的每个值,即,你输入的第一个值是:12您输入的第二个值是:32
谢谢伙计们!
private static int Array()
{
string inValue;
int[] score = new int[10];
int total = 0;
for (int i = 0; i < score.Length; i++)
{
Console.Write("Enter Value {0}: ", i + 1);
inValue = Console.ReadLine();
score[i] = Convert.ToInt32(inValue);
}
for (int i = 0; i < score.Length; i++)
{
total += score[i];
}
return total;
}
将GetValues()
函数更改为实际返回整数数组,然后在其他函数中使用返回值。
。修改GetValues()为:
private static int[] GetValues()
{
string inValue;
int[] score = new int[5];
int total = 0;
for (int i = 0; i < score.Length; i++)
{
Console.Write("Enter Value {0}: ", i + 1);
inValue = Console.ReadLine();
score[i] = Convert.ToInt32(inValue);
}
return score;
}
EDIT:下面是如何在函数中使用上面的GetValues()函数来打印出所有的值。你应该能从这里算出剩下的:
private static void PrintArray(int[] scoreArray)
{
for (int i = 0; i < scoreArray.Length; i++)
{
Console.WriteLine("Value #{0}: {1}", i + 1, scoreArray[i]);
}
}
注意如何传入scoreArray,以及如何使用scoreArray[i]
访问每个值(其中i是一个从0到4的数字)。
将int[] score
从GetValues
中移出,并在类级别声明为静态:
static int[] score = new int[5];
我的下一个建议是不要在函数内部做超出其名称所要求的事情;例如,GetValues()
应该只从user获取值;不要计算总数(就像你现在做的那样),因为这是误导;它迫使您查看实现以确切地知道它做了什么。同理,Show()
;如果目的是显示用户输入的值,则称其为ShowValues()
;如果目的是显示用户输入的值并计算平均值,那么将其命名为ShowValuesAndAverage()
这是一个完整的实现你的程序与我的建议:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace testscores
{
class Program
{
static int[] score = new int[5];
//Get Values
private static void GetValues()
{
string inValue;
for (int i = 0; i < score.Length; i++)
{
Console.Write("Enter Value {0}: ", i + 1);
inValue = Console.ReadLine();
score[i] = Convert.ToInt32(inValue);
}
}
//FIND AVERAGE
private static double FindAverage()
{
double total = 0.0;
for (int i = 0; i < score.Length; i++)
{
total += score[i];
}
double average = total / 5.0;
return average;
}
//Show
static void ShowValuesAndAverage()
{
Console.WriteLine("The values are:");
for (int i = 0; i < score.Length; i++)
{
Console.WriteLine(string.Format("The {0} value you entered was {1}", i + 1, score[i]));
}
Console.WriteLine("The average is: {0}", FindAverage());
}
//Main
static void Main()
{
GetValues();
ShowValuesAndAverage();
Console.ReadKey();
}
}
}
为GetValues()创建一个函数并返回数组。然后将数组传递给AddValues()函数和Show()。或者阅读如何使用指针,但这可能会使事情过于复杂。