/*
案例:评委打分,六个或者更多个评委打分,去到一个最高分,一个最低分,求其他评委的平均值(当评委数量发生改变时不需要进行二次修改)
需求:定义一个数组,长度为6,循环获取输入的数据
定义方法获取数组中的最大值
定义方法获取数组中的最小值
求其他四位评委的平均值
输出
小插曲:起初忘记了将输入的值存入数组、求和公式忘记了写括号,很是让我这个基础学习者苦恼;但也正因如此,让我熟悉了debug的操作,也更改过来了错误;不失为一种乐趣
可能这也正是编程的乐趣所在,发现问题,解决问题
*/
public class PingWeiDaFen {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入评委个数");
int gs = sc.nextInt();
//定义数组3
int[] arr = new int[gs];
//使用Scanner 类获取数据
Scanner sc1 = new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第" + (i + 1) + "位评委的打分");
arr[i] = sc1.nextInt();
}
printArr(arr);
int max = getMax(arr);
int min = getMin(arr);
int avg = getSum(max, min, arr);
System.out.println(arr.length + "位评委的平均分" + avg);
}
//定义方法获取数组中的最大值
public static int getMax(int[] arr) {
int max = arr[0];
for (int i = 0; i < arr.length; i++) {
if (arr[i]> max) {
max = arr[i];
}
}
return max;
}
//定义方法获取数组中的最小值
public static int getMin(int[] arr) {
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if (arr[i] < min) {
min=arr[i];
}
}
return min;
}
//定义方法进行求和
public static int getSum(int max, int min, int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
int avg = (sum - max - min) / (arr.length - 2);
return avg;
}
//数组遍历方法
public static void printArr(int[] arr) {
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.print(arr[i]);
} else
System.out.print(arr[i] + ",");
}
System.out.print("]");
}
}
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/5858.html