import java.util.LinkedList;
public class Queue {
/** 因为LinkedList本来就具备了队列的功能,故直接生成一个LinkedList便可以实现 */
private static LinkedList
我想如果我不做应该没有人来做了,这么少分,任务还这么大.算了我吃点亏.二十分钟后贴上代码.
幸亏做了一遍不然排序那个地方又做混了,
Student类:
public class Student implements Comparable{
private String name;
private int math;
private int english;
private int sum;
public Student(String name, int math, int english) {
super();
this.name = name;
this.math = math;
this.english = english;
this.sum=math+english;
}
public String toString(){
return "学生姓名: "+this.name+"\n"+
"数学成绩: "+this.math+"\n"+
"英语成绩: "+this.english+"\n"+
"总成绩: "+this.sum+"\n";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public int getEnglish() {
return english;
}
public void setEnglish(int english) {
this.english = english;
}
public int getSum() {
return sum;
}
public void setSum(int sum) {
this.sum = this.math+this.english;
}
@Override
public int compareTo(Object o) {
Student s=(Student)o;
return this.sum-s.sum;
}
}
测试类:
import java.util.TreeSet;
public class StuTest {
public static void main(String[] args) {
Student aa=new Student("aa",80,90);
Student bb=new Student("bb",80,60);
Student cc=new Student("cc",50,80);
Student dd=new Student("dd",80,87);
Student ee=new Student("ee",90,85);
TreeSet
treeset.add(aa);
treeset.add(bb);
treeset.add(cc);
treeset.add(dd);
treeset.add(ee);
for(Student s:treeset){
System.out.println(s.getName()+"的: 总成绩为: "+s.getSum());
}
//实现了Comparable方法的类在加入treeset时会自己动排序;
for(Student s:treeset){
System.out.println(s.toString());
}
//按总成绩排序输出对象
}
}
运行结果:
cc的: 总成绩为: 130
bb的: 总成绩为: 140
dd的: 总成绩为: 167
aa的: 总成绩为: 170
ee的: 总成绩为: 175
学生姓名: cc
数学成绩: 50
英语成绩: 80
总成绩: 130
学生姓名: bb
数学成绩: 80
英语成绩: 60
总成绩: 140
学生姓名: dd
数学成绩: 80
英语成绩: 87
总成绩: 167
学生姓名: aa
数学成绩: 80
英语成绩: 90
总成绩: 170
学生姓名: ee
数学成绩: 90
英语成绩: 85
总成绩: 175