黑马程序员技术交流社区

标题: 学生成绩排序(按照总分高低) [打印本页]

作者: zhaoyaosen    时间: 2016-4-18 23:16
标题: 学生成绩排序(按照总分高低)
测试类
package com.heima03;
import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

public class TreeSet1 {
public static void main(String[] args) {
//        键盘输入5个学生信息(姓名,语文成绩,数学成绩,英语成绩)按照总分高低排序
         //创建学生类Student
         Scanner sc = new Scanner(System.in);
         System.out.println("请按照格式输入字符");
         TreeSet<Student> ts = new TreeSet<>(new Comparator<Student>() {

                @Override
                 public int compare(Student s1, Student s2) {
                         int num = s2.getSum()-s1.getSum();
                         return num==0 ? 1:num;
                 }
         });
         while(ts.size()<5) {//TreeSet长度为5
                 String line = sc.nextLine();
                 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));
         }
         System.out.println("个人信息排名为:");
         for (Student s :ts) {
                 System.out.println(s);
         }
}
}
--------------------------------------------------------------
Student类
package com.heima03;

public class Student {
private String name;  //成员变量
private int chinese;
private int math;
private int english;
private int Sum;
public Student() { //空参构造
         super();
         
}
public Student(String name, int chinese, int math, int english) { //有参构造
         super();
         this.name = name;
         this.chinese = chinese;
         this.math = math;
         this.english = english;
         this.Sum=this.chinese+this.math+this.english;
}
public int getSum() {//
         return Sum;
}
@Override
public String toString() {//重写toString()
         return name+","+chinese+","+math+","+english;
}

}


package com.heima03;

public class Student {
private String name;  //成员变量
private int chinese;
private int math;
private int english;
private int Sum;
public Student() { //空参构造
         super();
         
}
public Student(String name, int chinese, int math, int english) { //有参构造
         super();
         this.name = name;
         this.chinese = chinese;
         this.math = math;
         this.english = english;
         this.Sum=this.chinese+this.math+this.english;
}
public int getSum() {//
         return Sum;
}
@Override
public String toString() {//重写toString()
         return name+","+chinese+","+math+","+english;
}

}


作者: lmr1096200234    时间: 2016-4-18 23:22
不错javascript:;
作者: zhaoch    时间: 2016-4-18 23:26
我装作看不懂的样子,其实我就是看不懂
作者: zhaoch    时间: 2016-4-19 00:28
11111111111111是多少噶的施工方 速度发货的房间号




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