2012-11-01 68 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。