用Java实现以下问题:在歌手比赛时,只需将评委给出的分数交给设计好的流水线,就可以得到选手的最后得分,流水线上的第一个对象负责录入裁判给选手的分数,第二个对象负责去掉一个最高分和一个最低分,最后一个对象负责计算出平均成绩。 请根据下面各类的说明,用流水线完成分数评定系统: InputScore 类的对象负责录入分数,InputScore 类组合了DelScore 类的对象; DelScore 类的对象负责去掉一个最高分和一个最低分,DelScore类组合了 ComputerAver 类的对象; ComputerAver类的对象负责计算平均值; Line 类组合了InputScore、 DelScore 和 ComputerAver 3 个类的实例
时间: 2024-02-21 07:59:31 浏览: 36
好的,以下是Java实现的代码:
InputScore.java
```
public class InputScore {
private DelScore delScore;
public InputScore(DelScore delScore) {
this.delScore = delScore;
}
public void inputScore(int[] scores) {
delScore.delScore(scores);
}
}
```
DelScore.java
```
public class DelScore {
private ComputerAver computerAver;
public DelScore(ComputerAver computerAver) {
this.computerAver = computerAver;
}
public void delScore(int[] scores) {
int maxIndex = 0;
int minIndex = 0;
for (int i = 1; i < scores.length; i++) {
if (scores[i] > scores[maxIndex]) {
maxIndex = i;
}
if (scores[i] < scores[minIndex]) {
minIndex = i;
}
}
int sum = 0;
for (int i = 0; i < scores.length; i++) {
if (i != maxIndex && i != minIndex) {
sum += scores[i];
}
}
computerAver.computeAver(sum / (scores.length - 2));
}
}
```
ComputerAver.java
```
public class ComputerAver {
public void computeAver(int score) {
System.out.println("选手最后得分为:" + score);
}
}
```
Line.java
```
public class Line {
public static void main(String[] args) {
ComputerAver computerAver = new ComputerAver();
DelScore delScore = new DelScore(computerAver);
InputScore inputScore = new InputScore(delScore);
// 模拟评委给出的分数
int[] scores = {85, 90, 92, 88, 87};
inputScore.inputScore(scores);
}
}
```
以上代码实现了分数评定系统的流水线,包括录入分数、去掉一个最高分和一个最低分、计算平均值等功能。在 Line 类中创建了 InputScore、DelScore、ComputerAver 三个对象,通过组合实现了流水线上不同对象之间的协作。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)