-1

ユーザーに 5 つの名前を入力するように要求し、各名前を表示して、ユーザーがその特定の名前のスコアを入力できるようにするアプリケーションを作成しようとしています。したがって、最初の配列でインデックス [0] の値が文字列 "Bob" の場合、他のスコアの配列ではインデックス [0] がボブのスコアになります。

ユーザーが対応するスコアを入力するための名前を表示できるように、 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();
    }
}
4

3 に答える 3

1

名前とスコアを含むオブジェクトの配列を作成します。これにより、ソリューションがより便利で読みやすくなります。

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

public class InitArraya{
    public NameScore[] arrayScore = new NameScore[5]; 
...
于 2012-11-01T09:20:33.270 に答える
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 でも intCounter を 0 から開始します。

于 2012-11-01T09:20:42.123 に答える
0

public static void PopulateScoreArray(string[] array)

変化する

 Console.Write("Enter score for {0}: ", arrayName[0]);

Console.Write("Enter score for {0}: ", array[intCounter]);

入力配列を使用するには。また、すべての for(-) カウンターの開始を 0 に変更します

for (int intCounter = 0; intCounter < 5; intCounter++)
于 2012-11-01T09:19:43.560 に答える