- 有6个评委为参赛的选手打分,分数为0-100的整数分。
- 选手的最后得分为:去掉一个最高分和一个最低分后的4个评委平均值(不考虑小数部分)。
- 定义一个数组,用动态初始化完成数组元素的初始化,长度为6
- 输入评委分数
- 接收评委分数操作,用循环改进
- 定义方法实现获取数组中的最高分,调用方法
- 定义方法实现获取数组中的最低分,调用方法
- 定义方法实现获取数组中的所有元素的和,调用方法
- 按照计算规则进行计算得到平均分
- 输出平均分
运行结果: 代码:
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
// 定义一个数组,用动态初始化完成数组元素的初始化,长度为6
int[] arr = new int[6];
// 输入分数
Scanner sc = new Scanner(System.in);
for (int x = 0; x < arr.length; x++) {
System.out.print("请输入" + (x + 1) + "个评委打分:" );
arr[x] = sc.nextInt();
}
// 调用方法获取数组最大值
int max = getMax(arr);
// 调用方法获取数组最小值
int min = getMin(arr);
// 调用方法求和
int sum = getSum(arr);
// 按要求计算平均分
int avg = (sum - max - min) / (arr.length -2);
// 输出平均分
System.out.println("去掉一个最高分" + max + ",去掉一个最低分" + min + ",选手的最终得分是" + avg);
}
// 求和
public static int getSum(int[] arr) {
int sum = 0;
for (int x = 0; x < arr.length; x++) {
sum += arr[x];
}
return sum;
}
// 获取最大值
public static int getMax(int[] arr) {
int max = arr[0];
for (int x = 1; x < arr.length; x++) {
if (arr[x] > max) {
max = arr[x];
}
}
return max;
}
// 获取最小值
public static int getMin(int[] arr) {
int min = arr[0];
for (int x = 1; x < arr.length; x++) {
if (arr[x] < min) {
min = arr[x];
}
}
return min;
}
}



