【问题标题】:I need to add user's input into a list, then print it out. C#我需要将用户的输入添加到列表中,然后打印出来。 C#
【发布时间】:2022-12-10 14:50:14
【问题描述】:

我的学校作业遇到了问题。该程序应该询问用户他们的成绩(从 0 到 5)并将它们添加到列表中。用户可以根据需要写入任意数量的成绩,并以空格结束循环。然后该程序应该向用户显示他们所写的成绩数量以及成绩的平均值。

我一直坚持后面的部分,当循环结束并且程序应该显示成绩数和平均值时。

    internal class Program
    {
        public static void YourGrades()
        {
            List<int> Grades = new List<int>();

            Console.WriteLine("Write a grade (0-5), [Enter] gives the results:");
            string grades = Console.ReadLine();

            while (grades != "")
            {
                Grades.Add(int.Parse(grades));
            }
            if (grades == "")
            {
                int num = Int32.Parse(grades);
                string average = num.Average();
                string sum = num.Length;
                Console.WriteLine($"The average of your {sum} grades is {average}.");
            }
        }

        static void Main(string[] args)
        {
            YourGrades();
        }
    }

num.Average();num.Length; 行显示为红色,情报表明“int”不包含“Average”和“Length”的定义。我已经根据本网站上的其他帖子尝试了不同的线条变体,但都没有用。

【问题讨论】:

    标签: c# list loops


    【解决方案1】:

    您收到这些错误是因为 num 是 int,但 Average()Length 是存在于 List&lt;int&gt; 上的方法,而不是 int 上的方法。另外,Length 是一个属性,而不是一个方法,所以你不需要用括号调用它。

    要解决此问题,您需要分别将 num.Average()num.Length 替换为 Grades.Average()Grades.Count。这是您应该可以使用的代码的更新版本:

    internal class Program
    {
        public static void YourGrades()
        {
            List<int> Grades = new List<int>();
    
            Console.WriteLine("Write a grade (0-5), [Enter] gives the results:");
            string grades = Console.ReadLine();
    
            while (grades != "")
            {
                Grades.Add(int.Parse(grades));
                grades = Console.ReadLine(); // read the next grade
            }
    
            if (grades == "")
            {
                // calculate the average and the number of grades
                double average = Grades.Average();
                int numGrades = Grades.Count;
    
                // print the results
                Console.WriteLine($"The average of your {numGrades} grades is {average}.");
            }
        }
    
        static void Main(string[] args)
        {
            YourGrades();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      • 2019-04-09
      • 1970-01-01
      相关资源
      最近更新 更多