java编写十个评委_Java题 在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分...
时间: 2023-10-25 16:06:41 浏览: 101
Java编写的歌手大奖赛系统
5星 · 资源好评率100%
题目描述:
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为去掉一个最高分和一个最低分后剩余8个评委分数的平均值。请编写Java程序实现该计算。
解题思路:
1. 定义一个长度为10的int类型数组,用于存储10个评委的打分。
2. 利用for循环和Scanner类,依次从控制台输入10个评委的打分。
3. 利用Arrays类中的sort()方法,将数组进行升序排序。
4. 去掉数组的第一个元素(即最小值)和最后一个元素(即最大值)。
5. 利用for循环和累加器对剩余的8个分数进行求和。
6. 计算平均分并输出。
Java代码实现:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] scores = new int[10]; // 存储10个评委的打分
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.print("请输入第" + (i + 1) + "个评委的打分:");
scores[i] = sc.nextInt();
}
Arrays.sort(scores); // 对数组进行升序排序
int sum = 0;
for (int i = 1; i < 9; i++) { // 去掉最高分和最低分,对剩余的8个分数进行求和
sum += scores[i];
}
double avg = sum / 8.0; // 计算平均分
System.out.println("选手最终得分为:" + avg);
}
}
```
注意事项:
1. 需要导入java.util.Arrays和java.util.Scanner类。
2. 在计算平均分时,需要将分数之和除以8.0,而不是除以8。这是因为除数为整数时,Java会进行整除运算,导致结果精度丢失。
3. 为了简化代码,这里没有进行输入校验,实际开发中需要对用户输入进行验证,防止程序崩溃。
阅读全文