用Java实现在歌手比赛时,只需将评委给出的分数交给设计好的流水线,就可以得到选手的最后得分,流水线上的第一个对象负责录入裁判给选手的分数,第二个对象负责去掉一个最高分和一个最低分,最后一个对象负责计算出平均成绩。 请根据下面各类的说明,用流水线完成分数评定系统: InputScore 类的对象负责录入分数,InputScore 类组合了DelScore 类的对象; DelScore 类的对象负责去掉一个最高分和一个最低分,DelScore类组合了 ComputerAver 类的对象; ComputerAver类的对象负责计算平均值; Line 类组合了InputScore、 DelScore 和 ComputerAver 3 个类的实例。
时间: 2024-02-27 17:57:58 浏览: 43
好的,这是一个非常典型的流水线模式的应用,可以使用 Java 实现。下面是每个类的代码实现:
```
// 录入分数类
public class InputScore {
// 模拟录入分数
public List<Double> inputScore() {
List<Double> scores = new ArrayList<>();
// 在这里添加录入分数的逻辑
return scores;
}
}
// 去掉最高分和最低分类
public class DelScore {
// 去掉一个最高分和一个最低分
public List<Double> delScore(List<Double> scores) {
// 在这里添加去掉分数的逻辑
return scores;
}
}
// 计算平均分数类
public class ComputerAver {
// 计算平均分数
public double computeAver(List<Double> scores) {
double sum = 0;
for (double score : scores) {
sum += score;
}
double aver = sum / scores.size();
return aver;
}
}
// 流水线类
public class Line {
// 组合三个类的实例
private InputScore inputScore = new InputScore();
private DelScore delScore = new DelScore();
private ComputerAver computerAver = new ComputerAver();
// 流水线处理方法
public double getResult() {
List<Double> scores = inputScore.inputScore();
scores = delScore.delScore(scores);
double aver = computerAver.computeAver(scores);
return aver;
}
}
```
使用时,只需要创建一个 Line 的实例,然后调用其 getResult() 方法即可得到选手的最终得分。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)