首页 > 解决方案 > 打破1方法创造2

问题描述

打破1方法创造2

有没有办法把这段代码分成两种方法?一种方法应命名为 GetInput(),另一种方法应命名为 CalculateAve()

static void GetInput()
        {
            //declare a counter variable
            int count = 0;
            string inValue = "";
            int sum = 0, intValue;

            while (inValue != "DONE")
            {
                if (int.TryParse(inValue, out intValue) == false)
                {
                    count--;
                    Console.WriteLine("type DONE to STOP entering scores:");
                }

                sum = sum + intValue;

                Console.Write("Enter DONE to exit:  ");
                inValue = Console.ReadLine();
                count++;    // increase the counter to keep track of the number of inputs
            }

            int average = (int)sum / count;    //calculate the average

         
            Console.WriteLine("                      Grade Result");
            Console.WriteLine("Average: {0}", average);    //print the average
        
static void Main(string[] args)
        {
       

        //Getting Input value and Calculate the Average
       GetInput();

标签: c#averageuser-defined-functions

解决方案


static void GetInput()
{
    List<int> values = new List<int>();
    int intValue;

    while (true)
    {
        var test = Console.ReadLine();
        if (int.TryParse(test, out intValue))
        {
           
        }
        else if(test.ToUpper()=="DONE")
        {
            break;
        }
        else
        {
            Console.WriteLine("type DONE to STOP entering scores:");
        }
    }

    double average = GetAverage(values);

    Console.WriteLine("                      Grade Result");
    Console.WriteLine("Average: {0}", average);    //print the average
}

static double GetAverage(List<int> values)
{
    return (double)values.Sum() / (double)values.Count();
}

static void Main(string[] args)
{
    //Getting Input value and Calculate the Average
    GetInput();
}

推荐阅读