跳水比赛计算选手成绩的方式是去掉一个最高分和一个最低分然后再计算平均分,而学校考察某个班级某科目的考试情况时则直接采用计算全班学生平均成绩的方式。请分别实现跳水比赛得分计算的Diving类和学校班级科目考试分数计算的Exam类,这两个类均实现了接口CalculateAverage。Java实现
时间: 2023-02-09 12:45:04 浏览: 204
好的,我来为你提供 Java 版本的实现。
首先是跳水比赛得分计算的 `Diving` 类:
```
import java.util.List;
public class Diving implements CalculateAverage {
@Override
public double calculateAverage(List<Double> scores) {
// 将分数从小到大排序
scores.sort(Double::compareTo);
// 去掉一个最高分和一个最低分
scores.remove(scores.size() - 1);
scores.remove(0);
// 计算剩余分数的平均分
double sum = 0;
for (double score : scores) {
sum += score;
}
return sum / scores.size();
}
}
```
然后是学校班级科目考试分数计算的 `Exam` 类:
```
import java.util.List;
public class Exam implements CalculateAverage {
@Override
public double calculateAverage(List<Double> scores) {
// 计算所有分数的平均分
double sum = 0;
for (double score : scores) {
sum += score;
}
return sum / scores.size();
}
}
```
最后是接口 `CalculateAverage`:
```
import java.util.List;
public interface CalculateAverage {
double calculateAverage(List<Double> scores);
}
```
希望这些代码能帮助到你。
阅读全文