就做一件很简单的事情,现在你自己创建了一个学生类,包含以下属性
1、只按照纯文化分数从低到高排序学生成绩并输出最终学生列表
输出结果
代码如下:
import java.util.Collections;
import java.util.LinkedList;
@SuppressWarnings("all")
public class Main{
public static void main(String[] args) {
LinkedList<Student> studentSet = new LinkedList<>();
Student s1 = new Student("001","张三",598.5,29.5);
Student s2 = new Student("002","李四",578.5,27.5);
Student s3 = new Student("003","戴夫",600.5,25.5);
Student s4 = new Student("004","哈士奇",622.5,29.5);
studentSet.add(s1);
studentSet.add(s2);
studentSet.add(s3);
studentSet.add(s4);
Collections.sort(studentSet);
for(Student s : studentSet){
s.print();
}
}
}
class Student implements Comparable<Student>{
// 学生学号
private String id;
// 学生姓名
private String name;
// 学生纯文化分
private Double score1;
// 体育成绩
private Double score2;
public Student(String id, String name, Double score1, Double score2) {
this.id = id;
this.name = name;
this.score1 = score1;
this.score2 = score2;
}
public void print(){
System.out.println("学号:"+id+" 姓名: "+name+" 文化分: "+score1+" 体育分: "+score2);
}
@Override
public int compareTo(Student student) {
return score1 > student.score1 ?1 : score1 < student.score1 ? -1 : 0;
}
}
2、按照纯文化分数从低到高排序学生成绩,如果纯文化分数相等的同学,则按照体育成绩从高到低排序,并输出最终学生列表
代码如下
import java.util.Collections;
import java.util.LinkedList;
@SuppressWarnings("all")
public class Main{
public static void main(String[] args) {
LinkedList<Student> studentSet = new LinkedList<>();
Student s1 = new Student("001","张三",598.5,29.5);
Student s2 = new Student("002","李四",578.5,27.5);
Student s3 = new Student("003","二哈",578.5,26.5);
Student s4 = new Student("004","戴夫",578.5,28.5);
Student s5 = new Student("005","哈士奇",622.5,29.5);
studentSet.add(s1);
studentSet.add(s2);
studentSet.add(s3);
studentSet.add(s4);
studentSet.add(s5);
Collections.sort(studentSet);
for(Student s : studentSet){
s.print();
}
}
}
class Student implements Comparable<Student>{
// 学生学号
private String id;
// 学生姓名
private String name;
// 学生纯文化分
private Double score1;
// 体育成绩
private Double score2;
public Student(String id, String name, Double score1, Double score2) {
this.id = id;
this.name = name;
this.score1 = score1;
this.score2 = score2;
}
public void print(){
System.out.println("学号:"+id+" 姓名: "+name+" 文化分: "+score1+" 体育分: "+score2);
}
@Override
public int compareTo(Student student) {
if(score1 > student.score1) return 1;
else if(score1 < student.score1) return -1;
else return score2 > student.score2 ?-1 : score2 < student.score2 ? 1 : 0;
}
}