黑马程序员技术交流社区

标题: 键盘录入学生信息按照总分排序后输出在控制台 [打印本页]

作者: 达达123    时间: 2016-11-8 21:20
标题: 键盘录入学生信息按照总分排序后输出在控制台
键盘录入学生信息按照总分排序后输出在控制台
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);
}

作者: L10052108    时间: 2016-11-9 16:13
程序写的很巧妙。比我写的要好。如果每次输入的时候有提示,就更好了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2