你好!我的朋友 2021-11-26 20:45 采纳率: 72.7%
浏览 51
已结题

这个该怎么改,改不了的话怎么写。

img

img


原题是
、设计一个学生成绩管理系统,能输入学生的学号、姓名和成绩等数据,能按成绩从高到低进行排序,并能将排序的结果输出。提示:设计一个学生类student,包含三个私有数据成员,即学号sno、姓名sname和成员score;在学生类student中再设计三个方法 setdata、display和getscore,分别用于完成输入学生信息、输出学生信息、返回某个学生成绩的功能;定义一个manage类,它有一个student类型的私有数据成员s[ ],number表示学生人数;在manage类中分别定义三个方法input、output、sort,分别用于完成输入、输出和排序功能。

  • 写回答

2条回答 默认 最新

  • 宁-静-致-远 2021-11-26 22:44
    关注

    如有帮助,请采纳

    
    public class Student {
        private String sno;
        private String sname;
        private Double score;
        public void setData(String sno,String sname,Double score){
            this.sno = sno;
            this.sname = sname;
            this.score = score;
        }
    
        public void display(){
            System.out.println("学号:" + sno + " 姓名:" + sname + " 成绩:" + score);
        }
    
        public Double getScore(){
            return this.score;
        }
    }
    public class Manage {
        private List<Student> studentList = new ArrayList<>();
    
        public void input(){
            Scanner scan = new Scanner(System.in);
            System.out.print("请输入录入学员的人数:");
            int c = 0;
            if( scan.hasNextInt()){
                c = scan.nextInt();
            }else {
                return;
            }
    
            for( int i = 0 ; i < c ; i++) {
                String sno = "";
                String sname = "";
                Double score = 0D;
                System.out.print("请输入学号:");
                if( scan.hasNext()){
                    sno = scan.next();
                }
                System.out.print("请输入姓名:");
                if( scan.hasNext()){
                    sname = scan.next();
                }
                System.out.print("请输入成绩:");
                if( scan.hasNextDouble()){
                    score = scan.nextDouble();
                }
                Student student = new Student();
                student.setData(sno,sname,score);
                studentList.add(student);
                System.out.println("-----------------------------");
            }
            //scan.close();
        }
    
        public void output(){
            for( Student student : studentList) {
                student.display();
                System.out.println("-----------------------------");
            }
        }
    
        public void sort(){
            Collections.sort(studentList,new Comparator<Student>() {
                @Override
                public int compare(Student o1, Student o2) {
                    return o1.getScore().compareTo(o2.getScore());
                }
            });
            output();
        }
    
        public static void main(String[] args) {
            Manage manage = new Manage();
            String operation = "";
            Scanner scan = new Scanner(System.in);
            System.out.println("请输入操作类型A:录入学员基本信息 B:输出信息 C:排序 E:退出系统");
            while (scan.hasNext()){
                operation = scan.next().trim().toUpperCase(Locale.ROOT);
                if( operation.equals("A")) {
                    manage.input();
                    System.out.println("数据录入完成");
                }
                if( operation.equals("B")) {
                    manage.output();
                    System.out.println("数据输出完成");
                }
                if( operation.equals("C")) {
                    manage.sort();
                    System.out.println("排序完成");
                }
                if( operation.equals("E")) {
                    System.out.println("系统退出");
                    break;
                }
                System.out.println("请输入操作类型A:录入学员基本信息 B:输出信息 C:排序 E:退出系统");
            }
            scan.close();
    
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月6日
  • 已采纳回答 11月28日
  • 创建了问题 11月26日

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行