2012-11-01 38 views
-1

我正在尝试创建一个提示用户输入5个名称的应用程序,然后显示每个名称并允许用户输入该特定名称的分数。所以如果在第一个数组中,index [0]的值是一个字符串“Bob”,那么在另一个数组中索引[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(); 
    } 
} 
+5

作业吗? – Habib

+0

你的问题是什么? –

+1

您是否收到某种错误讯息? –

回答

0

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++) 
+0

谢谢。我现在必须弄清楚如何按名称搜索数组,然后返回分数,现在就尝试。 – bbbbbbbbbb

1

,并使阵列,这将使您的解决方案更加有用和可读性。

public class NameScore{ 
    public string Name { get; set; } 
    public int Score { get; set; } 
} 

public class InitArraya{ 
    public NameScore[] arrayScore = new NameScore[5]; 
... 
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。