5个评委给一位歌手打分,按照规定,要去掉一个最低分和最高分,再算出平均分。输出5个评委的打分、最高分、最低分及平均分。用Java语言写出
时间: 2024-09-24 12:21:58 浏览: 48
在Java中,你可以创建一个数组或列表存储评委的评分,然后找出最高分和最低分,最后计算去掉这两个极端值后的平均分。下面是一个简单的示例:
```java
import java.util.Arrays;
class MusicianScore {
double[] scores;
double highestScore;
double lowestScore;
double averageScore;
MusicianScore(double[] scores) {
this.scores = scores.clone(); // 复制数组防止直接修改原始数组
Arrays.sort(scores); // 对评分排序
highestScore = scores[scores.length - 1]; // 最高分
lowestScore = scores[0]; // 最低分
// 去掉最高分和最低分
int middleIndex = scores.length / 2; // 如果人数偶数,则取中间两个分数的平均值
if (scores.length % 2 == 0) {
averageScore = (scores[middleIndex] + scores[middleIndex - 1]) / 2;
} else {
averageScore = scores[middleIndex];
}
}
void printScores() {
System.out.println("评委得分: " + Arrays.toString(scores));
System.out.println("最高分: " + highestScore);
System.out.println("最低分: " + lowestScore);
System.out.println("平均分: " + averageScore);
}
}
// 使用示例
public class Main {
public static void main(String[] args) {
double[] scores = {85, 90, 78, 92, 88}; // 五个评委的打分
MusicianScore musician = new MusicianScore(scores);
musician.printScores();
}
}
```
在这个程序中,我们首先对评分数组进行排序,然后找到最高分和最低分。接着根据评委人数是奇数还是偶数,计算去掉一个最高分和一个最低分后的平均分。
阅读全文