排序代码块
//创建TreeSet比较器
MyComparator comparator=new MyComparator();
//排序
Set<Student> set=new TreeSet<>(comparator);
Scanner sc = new Scanner(System.in);
for (int i = 0; i <3 ; i++) {
System.out.println("输入姓名:");
String name = sc.next();
System.out.println("输入语文成绩:");
int chinese = sc.nextInt();
System.out.println("输入数学成绩:");
int mathematics = sc.nextInt();
System.out.println("输入英语成绩:");
int english = sc.nextInt();
Student stu = new Student(name, chinese, mathematics, english);
set.add(stu);
}
Iterator<Student> iterator = set.iterator();
for (Student student : set) {
System.out.println(student.toString());
}
private static class MyComparator implements Comparator<Student> {
@Override
public int compare(Student o1, Student o2) {
int result = 0;
if(o1.getScore() < o2.getScore())
{
result = 1;
}else
{
result = -1;
}
return result;
}
}
学生类
private String name;//姓名
private int chinese;//语文
private int mathematics;//数学
private int english;//英语
private int score;//总分
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", chinese=" + chinese +
", mathematics=" + mathematics +
", english=" + english +
", score=" + score +
'}';
}
public Student(String name, int chinese, int mathematics, int english) {
this.name = name;
this.chinese = chinese;
this.mathematics = mathematics;
this.english = english;
}
public int getScore() {
score=chinese+mathematics+english;
return score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getChinese() {
return chinese;
}
public void setChinese(int chinese) {
this.chinese = chinese;
}
public int getMathematics() {
return mathematics;
}
public void setMathematics(int mathematics) {
this.mathematics = mathematics;
}
public int getEnglish() {
return english;
}
public void setEnglish(int english) {
this.english = english;
}