public class Grade implements Comparable { private String name; private int chi,math,eng; public Grade(String n, int c, int m, int e) { name = n; chi = c; math = m; eng = e; } public int compareTo(Object y) { // bug! bug! 這裡應該無條件捨去嗎? 還是無條件進位呢? // 還是四捨五入呢? 或者以上皆非? return (int) (this.average() - ((Grade) y).average()); } public String getName() { return name; } public double average() { return (chi+math+eng)/3.0; } }