用java算奥运会跳水比赛通常有7名裁判,打分的方式为去掉一个最高分,去掉一个 最低分,剩余5个成绩求得平均值,该平均值乘以3再乘以难度系数为最终成绩,请编程实现7名裁判单次跳水打分的输入,难度系数输入(难度系数通常在2~4之间),并输出有效成绩排序以及最终得分。
时间: 2024-10-16 14:05:32 浏览: 61
在Java中,我们可以创建一个简单的程序来实现这个需求。首先,我们需要定义一个`JudgeScore`类来存储每个裁判的分数,然后设计一个方法计算有效成绩的平均值。这里是一个基本的步骤:
```java
import java.util.ArrayList;
import java.util.Collections;
class JudgeScore {
private int score;
// 构造函数
public JudgeScore(int score) {
this.score = score;
}
// 获取分数
public int getScore() {
return score;
}
}
public class DivingScoring {
public static void main(String[] args) {
ArrayList<JudgeScore> scores = new ArrayList<>();
double difficultyCoefficient = 0; // 难度系数
// 输入裁判分数
System.out.println("请输入7名裁判的分数(按顺序输入):");
for (int i = 0; i < 7; i++) {
int inputScore = Integer.parseInt(scan.nextLine());
scores.add(new JudgeScore(inputScore));
}
// 输入难度系数
System.out.print("请输入难度系数(2到4之间): ");
difficultyCoefficient = Math.min(Math.max(Integer.parseInt(scan.nextLine()), 2), 4);
// 计算有效成绩并排序
Collections.sort(scores, Collections.reverseOrder()); // 先降序排列
scores.remove(scores.size() - 1); // 去掉最高分
scores.remove(0); // 去掉最低分
double effectiveAverage = calculateEffectiveAverage(scores);
// 输出有效成绩和最终得分
System.out.println("有效成绩排序:");
for (JudgeScore judge : scores) {
System.out.println(judge.getScore());
}
double finalScore = effectiveAverage * difficultyCoefficient * 3;
System.out.printf("最终得分: %.2f\n", finalScore);
}
// 计算有效成绩平均值
private static double calculateEffectiveAverage(ArrayList<JudgeScore> scores) {
double sum = 0;
for (JudgeScore score : scores) {
sum += score.getScore();
}
return sum / scores.size();
}
}
```
运行此程序,用户可以按照提示输入裁判分数和难度系数,然后会得到有效的成绩排序和最终得分。
阅读全文
相关推荐
















