直接上代码:
import java.util.Scanner;
public class Lx1 {
public static void main(String[] args) {
int[] scoreArr = getScores();//定义int类型数组接收方法中的返回值
int arg = getArg(scoreArr);//定义int类型变量接收方法中的返回值
}
//求数组中的最大值并返回最大值
public static int getMax(int[] scoreArr) {
int max = scoreArr[0];
for (int i = 0; i < scoreArr.length; i++) {
if (scoreArr[i] > max) {
max = scoreArr[i];
}
}
return max;
}
//求数组中的最小值并返回最小值
public static int getMin(int[] scoreArr) {
int min = scoreArr[0];
for (int i = 0; i < scoreArr.length; i++) {
if (scoreArr[i] < min) {
min = scoreArr[i];
}
}
return min;
}
//减去一个最大值和最小值后求平均数
public static int getArg(int[] scoreArr) {
int max = getMax(scoreArr);
int min = getMin(scoreArr);
int sum = 0;
for (int i = 0; i < scoreArr.length; i++) {
sum = sum + scoreArr[i];
}
sum = sum - min - max;
int arg = 0;
arg = sum / (scoreArr.length - 2);
System.out.println("去掉最大值" + max + "和最小值" + min + "的剩余分数的平均分是" + arg);
return arg;
}
//循环输入6次合法数字并存入数组
public static int[] getScores() {
int[] scores = new int[10];//定义一个长度为10的int类型数组
Scanner sc = new Scanner(System.in);
for (int i = 0; i < scores.length; ) {
System.out.println("请输入得分【0-100】");//循环输入
int score = sc.nextInt();
if (score >= 0 && score <= 100) { //如果输入的分数在0-100之间则存入数组
scores[i] = score;
i++;
} else { //输入分数不在0-100之间提示下面的信息,并继续循环输入,直到输入10个合法数字存入数组
System.out.println("录入范围是【0-100】,请重新录入");
}
}
return scores;
}
}
运行效果图: