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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huburt 中级黑马   /  2016-5-21 12:05  /  293 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /**键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台。 */
  2.                 Scanner sc = new Scanner(System.in);
  3.                 TreeSet<Student> ts = new TreeSet<>(new Comparator<Student>(){
  4.                        
  5.                         public int compare(Student o1, Student o2) {
  6.                                 int result = o2.getScore()-o1.getScore();
  7.                                 return result==0?-1:result;
  8.                         }
  9.                 });
  10.                
  11.                 System.out.println("请输入学生信息,格式:姓名,语文成绩,数学成绩,英语成绩");
  12.                 for(int i=0;i<5;i++){
  13.                         String line = sc.nextLine();
  14.                         try {
  15.                                 String[] arr = line.split(",");
  16.                                 int c = Integer.parseInt(arr[1]);
  17.                                 int m = Integer.parseInt(arr[2]);
  18.                                 int e = Integer.parseInt(arr[3]);
  19.                                 ts.add(new Student(arr[0], c, m, e));
  20.                         } catch (Exception e) {
  21.                                 System.out.println("输入格式不正确,请重新输入!");
  22.                                 System.out.println("格式:姓名,语文成绩,数学成绩,英语成绩");
  23.                                 i--;
  24.                         }
  25.                 }
  26.                 for(Student s:ts){
  27.                         System.out.println(s);
  28.                 }
  29.                
  30.                
  31.         }

  32. }


  33. class Student {
  34.         String name;
  35.         int chinese;
  36.         int math;
  37.         int english;
  38.        
  39.        
  40.         public Student(String name, int chinese, int math, int english) {
  41.                 super();
  42.                 this.name = name;
  43.                 this.chinese = chinese;
  44.                 this.math = math;
  45.                 this.english = english;
  46.         }
  47.        
  48.        

  49.         @Override
  50.         public String toString() {
  51.                 return "Student [name=" + name + ", chinese=" + chinese + ", math=" + math + ", english=" + english + "]";
  52.         }



  53.         public int getScore(){
  54.                 return chinese+math+english;
  55.         }
  56. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马