我正在尝试创建一个应用程序,提示用户输入5个名称,然后显示每个名称并允许用户输入该特定名称的分数。因此,如果在第一个数组中,index [0]的值是一个字符串“Bob”,那么在另一个数组中,得分index [0]应该是bob的得分。
我很难理解如何将nameArray []传递给PopulateScore()方法,以便它可以显示用户输入相应分数的名称。
我还必须按名称搜索数组并返回分数。
感谢您的帮助。
public class InitArraya
{
public static string[] arrayName = new string[5];
public static int[] arrayScore = new int[5];
public static void PopulateNameArray()
{
// Prompt user for names and assign values to the elements of the array
for (int intCounter = 1; intCounter < arrayName.Length; intCounter++)
{
Console.Write("Enter name {0}: ", intCounter);
arrayName[intCounter] = Console.ReadLine();
}
}
public static void PopulateScoreArray(string[] array)
{
// Prompt user for names and assign values to the elements of the array
for (int intCounter = 1; intCounter < 5; intCounter++)
{
Console.Write("Enter score for {0}: ", arrayName[0]);
arrayScore[intCounter] = Convert.ToInt32(Console.ReadLine());
}
}
public static void Main( string[] args )
{
Console.WriteLine("Enter 5 names:"); // headings
PopulateNameArray();
PopulateScoreArray(arrayName);
Console.ReadLine();
}
}
答案 0 :(得分:1)
制作包含名称和分数的对象数组,这将使您的解决方案更有用和可读。
public class NameScore{
public string Name { get; set; }
public int Score { get; set; }
}
public class InitArraya{
public NameScore[] arrayScore = new NameScore[5];
...
答案 1 :(得分:1)
public static void PopulateScoreArray(string[] array)
{
// Prompt user for names and assign values to the elements of the array
for (int intCounter = 0; intCounter < array.Length; intCounter++)
{
Console.Write("Enter score for {0}: ", array[intCounter]);
arrayScore[intCounter] = Convert.ToInt32(Console.ReadLine());
}
}
假设arrayName中总有5个名称。否则应进行额外检查。
哦,并在PopulateNameArray中以0开始intCounter。
答案 2 :(得分:0)
in
public static void PopulateScoreArray(string[] array)
更改
Console.Write("Enter score for {0}: ", arrayName[0]);
到
Console.Write("Enter score for {0}: ", array[intCounter]);
使用输入数组。同样在( - )中将计数器的开始更改为0
for (int intCounter = 0; intCounter < 5; intCounter++)