保全头发 2022-04-07 13:57 采纳率: 42.9%
浏览 50
已结题

c#程序修改,希望能够得到解决

3.创建学生类Student,基本构成如下(应适当扩充):
①私有字段name(学生姓名),公有属性Name;
②私有字段score(成绩),公有属性Score;
要求在完善学生类构成的基础上,将所有学生对象存放在一个Student对象数组中,通过方法Sort实现按照Score(成绩)进行降序排序,并输出排序结果。

using System;

namespace the_second_test
{
 class Student
    {
        private string name;
        private int score;
        private string number;
        private string sex;
        public string Number
        {
            get { return number; }
            set { number = value; }
        }
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        public int Score
        {
            get { return score; }
            set
            {
                if (value > 100 || value < 0)
                    Console.WriteLine("输入不正确");
                else
                    score = value;
            }
        }
        public string Sex
        {
            get { return sex; }
            set
            {
                if (value == "男" || value == "女")
                    sex = value;
                else
                    Console.WriteLine("您的输入有问题");


            }

        }
        public Student(string number, string name, int score, string sex)
        {
            this.Number = number;
            this.Name = name;
            this.Score = score;
            this.Sex = sex;

        }

    }
}
    class Program
    {
    static void Decsort(Student[] listStudent)
    {
            for (int i=0;i<listStudent .Length -1;i++)
            {
                for (int j=0;j<listStudent .Length -1-i;j++)
                {
                    if (listStudent[j].Score < listStudent[j + 1].Score)
                    {
                        Student orderScore;
                        orderScore = listStudent[j];
                        listStudent[j] = listStudent[j + 1];
                        listStudent[j + 1] = orderScore;
                    }
                }
            }
    }
        static void Main(string[] args)
        {
        Console.Write("请输入要创建Student对象数组的大小");
        int n = Convert.ToInt32(Console .ReadLine ());
        Student[] studentArray = new Student[n];
        for (int i=0;i<n;i++)
        {
            Console.Write("请输入第{0}个学生编号",i + 1);
            string number = Console.ReadLine();
            Console.Write("请输入第{0}个学生姓名", i + 1);
            string name = Console.ReadLine();
            Console.Write("请输入第{0}个学生期末成绩", i + 1);
            string score = Console.ReadLine();
            Console.Write("请输入第{0}个学生性别", i + 1);
            string sex = Console.ReadLine();
            studentArray[i] = new Student(number, name, score, sex);
            Console.WriteLine();
            Console.WriteLine("排序前");
            Console.WriteLine("学号\t姓名\t成绩\t性别");
            foreach (Student stu in studentArray )
            {
                Console.WriteLine("{0}\t{1}\t{2}\t{3}",stu .number,stu .Name ,stu .Score,stu .Sex);
            }
            Decsort(studentArray);
            Console.WriteLine("按照成绩降序排序后的结果为:");
            Console.WriteLine("学号\t姓名\t成绩\t性别");
            Console.WriteLine("学号\t姓名\t成绩\t性别");
            foreach (Student stu in studentArray)
            {
                Console.WriteLine("{0}\t{1}\t{2}\t{3}", stu.number, stu.Name, stu.Score, stu.Sex);
            }
        }
         
        }
    }


这个错误如何修改

  • 写回答

1条回答 默认 最新

  • Iawfy_ 2022-04-07 15:15
    关注

    把你main方法里面 studentArray[i] = new Student(number, name, score, sex);这一行后面的所有都放在for循环外面

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月7日
  • 创建了问题 4月7日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境