优化后的
package com.fqs.test;
import java.util.Random;
import java.util.Scanner;
public class hello {
public static void main(String[] args) {
//评委打分 评委个数6个
//分数的范围1到100
//去掉最高分 去掉最低分 剩下的4个评委的平均分
double []okarr=getArr();
for (int i = 0; i <okarr.length ; i++) {
System.out.println(okarr[i]);
}
System.out.println("avg:" +getAvg(okarr));
}//主方法
//获取6个评委的值
public static double[] getArr() {
double[] arr = new double[6];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < arr.length;) {
System.out.println("请第" + (i+1) + "位评委给评分");
double num = sc.nextInt();//每次开始循环时,获取键盘输入的值
if (num < 0 || num > 100) {
System.out.println("不合法,请输入0到100之间的评分");//不合法时,
//不做任何操作(比如不要求输入),i不变,继续
} else {
arr[i] = num;//合法的存到arr数组中
System.out.println("合法,放到arr数组下标:" +i);
i++;//并且进入下个循环
}
}
return arr;
}
public static double getAvg(double[] arr) {
double max = arr[0];
double min = arr[0];
double avg = 0;
double sum = 0;
for (int i = 0; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
//获得最大值
}
}
for (int i = 0; i < arr.length; i++) {
if (min > arr[i]) {
min = arr[i];
//获得最小值
}
}
for (int i = 0; i < arr.length; i++) {
sum = sum + arr[i];
}
System.out.println("sum:" + sum);
avg = (sum - min - max) / (arr.length - 2);
return avg;
}
}//类结束
package com.fqs.test;
import java.util.Random;
import java.util.Scanner;
public class hello {
public static void main(String[] args) {
//评委打分 评委个数6个
//分数的范围1到100
//去掉最高分 去掉最低分 剩下的4个评委的平均分
double[] arr = new double[6];
Scanner sc = new Scanner(System.in);
for (int i = 1; i <= arr.length; i++) {
System.out.println("请第" + i + "位评委给评分");
double num = sc.nextInt();
boolean flag = true;//是否有不合法的评分 如果不合法一直循环让输入 只有true才能进到循环里
while (flag) {
if (num < 0 || num > 100) {
flag = true;
System.out.println("不合法,请输入1到100之间的评分");
num = sc.nextInt();
} else {
flag = false;
arr[i - 1] = num;//合法的存到arr数组中
System.out.println("合法,放到arr数组下标:" + (i - 1));
break;
}
}
}
System.out.println("avg:" +
getAvg(arr));
}
public static double getAvg(double[] arr) {
double max = arr[0];
double min = arr[0];
double avg = 0;
double sum = 0;
for (int i = 0; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
//获得最大值
}
}
for (int i = 0; i < arr.length; i++) {
if (min > arr[i]) {
min = arr[i];
//获得最小值
}
}
for (int i = 0; i < arr.length; i++) {
sum = sum + arr[i];
}
System.out.println("sum:" + sum);
avg = (sum - min - max) / (arr.length - 2);
return avg;
}
}//类结束