package shiyan4_3; import java.util.TreeSet; public class Student implements TreeSet<Student> { String name; int score; Student(String name,int score) { this.name=name; this.score=score; } /** *补充代码[2],重写compareTo()方法 **/ public int getScore() { return score; } public String getName() { return name; } }
时间: 2023-12-03 14:44:45 浏览: 88
shiyan4_1.zip
这段代码有问题,因为Java中的类不能直接实现 TreeSet 接口,而应该实现 Comparable 接口并重写 compareTo 方法。应该修改代码如下:
```java
package shiyan4_3;
import java.util.TreeSet;
public class Student implements Comparable<Student> {
String name;
int score;
Student(String name,int score) {
this.name=name;
this.score=score;
}
/**
* 重写 compareTo() 方法
**/
@Override
public int compareTo(Student other) {
return Integer.compare(this.score, other.score);
}
public int getScore() {
return score;
}
public String getName() {
return name;
}
}
```
在这个例子中,我们假设学生对象之间的比较是基于分数的。因此,compareTo 方法应该比较两个学生对象的分数,并返回一个 int 值,表示它们之间的大小关系。如果当前对象的分数小于 other 对象的分数,则返回负值;如果当前对象的分数等于 other 对象的分数,则返回 0;如果当前对象的分数大于 other 对象的分数,则返回正值。这个 compareTo 方法的实现中,使用了 Java 内置的 Integer.compare 方法,来比较两个 int 值的大小关系。
阅读全文