代码如下
import java.util.Scanner;
public class Test6 {
/*
需求:
在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分
选手的最后的得分为:去掉一个最高分和一个最低分后的4个评委的平均值
*/
public static void main(String[] args) {
int[] arr = getInts();
int sum = getSum(arr);
//5.求最大值,拿出第一个数据
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
System.out.println("最大值是: " + max);
//6.求最小值,拿出第一个数据
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
System.out.println("最小值是: " + min);
//7.平均值
double pingJun=((sum*1.0)-max-min)/(arr.length-2);
System.out.println("最后得分是: "+pingJun);
}
//求和
private static int getSum(int[] arr) {
//4.定义求和变量sum
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
System.out.println("总和成绩为: " + sum);
return sum;
}
//此方法用于键盘录入6个评委打分数据
private static int[] getInts() {
//2.定义动态数组接收评委打分的数据
int[] arr = new int[6];
//1.假盘录入评委的打分
Scanner sc = new Scanner(System.in);
System.out.println("请输入评委打分数据");
//3.遍历,拿到所有评委打分的数据
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第" + (i + 1) + "的数");
//8.加入if判断是否是1-100之间的数
int panDuan = sc.nextInt();
if (panDuan>=0 && panDuan<=100){
//9.赋值给arr[i]
arr[i]=panDuan;
}else {
System.out.println("你的输入有误,请检查是否是在1-100之间的数");
i--;
}
}
return arr;
}
}
运行结果
请输入评委打分数据
请输入第1的数
20
请输入第2的数
30
请输入第3的数
40
请输入第4的数
50
请输入第5的数
60
请输入第6的数
70
总和成绩为: 270
最大值是: 70
最小值是: 20
最后得分是: 45.0