package day06; import java.util.Scanner; /*有N位评委给选手打分 * 选手的最终得分为:去掉最高分和最低分之后的N-2位评委的平均分*/ public class MethodDemo05 { public static void main(String[] args) { scorectrl(); } public static double[] getscores(int n) {//获取每个评委的成绩 double[] scores = new double[n]; Scanner scanner = new Scanner(System.in); for (int i = 0; i < scores.length; i++) { System.out.println("请输入第" + (i + 1) + "位评委的成绩"); scores[i] = scanner.nextDouble(); //通过屏幕获取评委的成绩 } return scores; } public static double avgscore(double[] scores) {//获取平均成绩,减去最高分和最低分后的成绩 double total = 0.0; double min = scores[0]; double max = scores[0]; for (int i = 0; i < scores.length; i++) { total += scores[i];//获取总分 if (min > scores[i]) { min = scores[i]; } if (scores[i] > max) { max = scores[i]; } } return (total - min - max) / (scores.length - 2);//计算平均分 } public static void scorectrl() {//评分系统使用 Scanner scanner = new Scanner(System.in); System.out.println("请输入评委数量,输入999退出"); int n = 0; n = scanner.nextInt(); while (n != 999) {//999时退出评分系统 double[] scores = getscores(n); if (n > 2) { System.out.println("平均分为" + avgscore(scores)); } else { System.out.println("评委数量需要大于二"); } System.out.println("请输入评委数量,输入999退出"); n = scanner.nextInt(); } } }