A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

键盘录入学生信息按照总分排序后输出在控制台
A:案例演示

需求:键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台。 Scanner sc = new Scanner(System.in); System.out.println("请输入5个学生成绩格式是:(姓名,语文成绩,数学成绩,英语成绩)"); TreeSet ts = new TreeSet<>(new Comparator() { @Override public int compare(Student s1, Student s2) { int num = s2.getSum() - s1.getSum();        //根据学生的总成绩降序排列 return num == 0 ? 1 : num; } });
while(ts.size() < 5) {
    String line = sc.nextLine();
    try {
        String[] arr = line.split(",");
        int chinese = Integer.parseInt(arr[1]);             //转换语文成绩
        int math = Integer.parseInt(arr[2]);                //转换数学成绩
        int english = Integer.parseInt(arr[3]);             //转换英语成绩
        ts.add(new Student(arr[0], chinese, math, english));
    } catch (Exception e) {
        System.out.println("录入格式有误,输入5个学生成绩格式是:(姓名,语文成绩,数学成绩,英语成绩");
    }

}

System.out.println("排序后的学生成绩是:");
for (Student s : ts) {
    System.out.println(s);
}

1 个回复

倒序浏览
程序写的很巧妙。比我写的要好。如果每次输入的时候有提示,就更好了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马