package shiyan4_1; import java.util.*; public class DoInput extends DoThing { DoThing nextDoThing ; public void setNext(DoThing next) { _____[代码1]_____ } public void doThing(double [] a) { System.out.println("请输入裁判数"); Scanner read=new Scanner(System.in); int count = read.nextInt(); System.out.println("请输入各个裁判的分数"); a = new double[count]; for(int i=0;i<count;i++) { a[i]=read.nextDouble(); } nextDoThing.doThing(a); } }
时间: 2023-07-16 20:15:53 浏览: 210
在代码1处应该填写:
```
nextDoThing = next;
```
这行代码的作用是将当前对象的下一个处理者设置为传入的参数对象。
相关问题
package shiyan4_1; import java.util.*; public class DelMaxAndMin extends DoThing { DoThing nextDoThing ; public void setNext(DoThing next) { ______[代码2]_______ } public void doThing(double [] a) { ____[代码3]____//数组a升序排序 System.out.print("去掉一个最高分:"+a[a.length -1]+","); System.out.println("去掉一个最低分"+a[0]); double [] b = Arrays.copyOfRange(a,1,a.length-1); nextDoThing.doThing(b); } }
代码2应该是:
```
nextDoThing = next;
```
代码3应该是:
```
Arrays.sort(a);
```
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; } }
这段代码有问题,因为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 值的大小关系。
阅读全文