7位评委,统计选手成绩需要去掉最高和最低分,求其余5位的平均成绩,实现外部录入和计算选手成绩使用java一维数组编写
时间: 2024-12-12 12:29:13 浏览: 9
4_7totalscore.rar_Score!
在Java中,你可以创建一个简单的程序来实现这个功能。首先,你需要定义一个一维整型数组来存储七位评委的评分,然后删除最高分和最低分,最后计算剩余五位评委的平均成绩。以下是一个基本的步骤和代码示例:
```java
import java.util.Scanner;
public class AverageScores {
public static void main(String[] args) {
int[] scores = new int[7]; // 初始化一个长度为7的一维数组
Scanner scanner = new Scanner(System.in);
System.out.println("请输入七位评委的评分:");
for (int i = 0; i < 7; i++) {
scores[i] = scanner.nextInt(); // 外部录入分数
}
// 排序并删除最高分和最低分
Arrays.sort(scores); // 使用Arrays类的sort方法对数组排序
scores[0] = scores[6] = 0; // 去掉最高分和最低分,这里假设它们被移除到数组首尾
// 计算并打印平均成绩
double averageScore = calculateAverage(scores, 5);
System.out.printf("去除最高和最低分后的平均成绩是: %.2f", averageScore);
scanner.close();
}
public static double calculateAverage(int[] arr, int length) {
if (length > 0) {
double sum = 0;
for (int i = 0; i < length; i++) {
sum += arr[i];
}
return sum / length;
} else {
throw new IllegalArgumentException("无效的数组长度");
}
}
}
```
在这个程序中,`calculateAverage`函数用于计算指定长度内的平均值,如果输入的长度小于等于0,则会抛出异常。运行程序时,用户将依次输入每位评委的得分,程序会自动计算并显示结果。
阅读全文