传递数组和操作数组中的数据很困难(家庭作业)c#

时间:2014-04-07 00:53:51

标签: c# arrays c#-4.0

所以我正在为c#做一个家庭作业。该任务需要使用2个数组,一个用于保存名称,另一个用于保存分数。然后我们计算平均分数,显示低于平均分数,并根据名称显示分数。我通过引用/值传递数组有很大的困难,以便使用它们中的数据并使用单独的模块维护我的代码。阵列必须容纳多达100个单独的数据。

    class Program
    {
        static void Main(string[] args)
        {
            string[] playerNames = new string[100];
            int[] playerScores = new int [100];
            int numPlayers = 0;
            double averageScore;

            DisplayData(playerNames);

        }

        static void InputData(string[] playerNames, int[] playerScores, ref int numPlayers)
        {
            string playerName;

            do
            {
                int i = 0;
                Console.WriteLine("Enter the name of the player...Enter \"Q to exit...");
                playerName = Console.ReadLine();
                if (playerName == "Q" || playerName == "q")
                    Console.WriteLine("No further user input needed...\n");
                else
                    playerNames[i] = playerName;
                    Console.WriteLine("Enter the score of the player...");
                    int playerScore = Convert.ToInt32(Console.ReadLine());
                    playerScores[i] = playerScore;
                    numPlayers += i;
                    i++;
            }
            while (playerName != "Q");

        }

        static void CalculateAverageScore(int[] playerScores, ref int averageScore)
        {
            InputData(playerScores);
            InputData(ref numPlayers);
            int averageScores = 0;
            averageScores = playerScores / numPlayers;





        }

我遇到的最大问题是我似乎无法传递数组数据。我受到#34;输入数据"的无过载方法的困扰。或者我正在使用的任何方法。所以我很好奇如何将数组数据传递给另一个方法。

1 个答案:

答案 0 :(得分:4)

由于这是作业,我不会给你完整的答案,但这是前进的方法。

不要使用ref关键字,只需将数组传递给方法即可。让方法返回int而不是void。计算方法中的平均值,并使方法的最后一行返回您计算的int

static int CalculateAverageScore(int[] playerScores)
{
    // calculate average

    return average; // the int you've calculated.
}

当你需要获得平均值时,从main调用方法。

另外,您是否遗漏了{ }声明之后的6行的一些大括号else