竞赛评分 在某竞赛中,有10个评委为参赛的选手打分,分数为0~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序计算并打印输出选手最后得分。
时间: 2024-11-28 20:27:08 浏览: 27
在Java中,你可以使用ArrayList或List来存储评委的分数,然后使用Collections.sort()对分数进行排序,再根据题目要求去除最高分和最低分。以下是一个简单的示例程序:
```java
import java.util.ArrayList;
import java.util.Collections;
public class ContestScoreCalculator {
public static void main(String[] args) {
ArrayList<Integer> scores = new ArrayList<>();
// 假设这里是你获取的10个评委分数,例如从用户输入或者数据库读取
scores.add(95);
scores.add(85);
scores.add(90);
scores.add(75);
scores.add(80);
scores.add(92);
scores.add(88);
scores.add(93);
scores.add(78);
scores.add(86);
// 对分数列表进行排序
Collections.sort(scores);
// 去掉最高分和最低分
if (scores.size() >= 2) {
scores.remove(scores.get(scores.size() - 1)); // 最高分
scores.remove(0); // 最低分
}
// 计算剩余分数的平均值
double averageScore = scores.stream().mapToInt(Integer::intValue).average().orElse(0.0);
// 打印结果
System.out.println("选手最后得分: " + averageScore);
}
}
```
在这个例子中,我们首先创建了一个ArrayList来存储分数,然后用Collections.sort()对其进行排序。接着,如果分数大于等于2(因为至少要有两个分数才能去最高分和最低分),我们就移除最高的和最低的分数。最后,使用Java 8的Stream API计算剩下的分数的平均值。
阅读全文