package _06_综合练习;

import java.util.Scanner;

public class Test8 {
    public static void main(String[] args) {
        /**
         * 需求 :
         * 在唱歌比赛中，有6名评委给选手打分，
         * 分数范围是[0 - 100]之间的整数。选手的最后得分为：
         * 去掉最高分、最低分后的4个评委的平均分，
         * 请完成上述过程并计算出选手的得分。
         * 1 调用方法创建出来一个数组, 数组当中评委打的分数
         * 2 求出来最大值
         * 3 求除最小值
         * 4 求总和
         * 5 总和 - 最大值 - 最小值  / 4
         */
        double[] scores = getScores();
        for (double score : scores) {
            System.out.println(score);
        }
        // 求最大值
        double max = getMax(scores);
        double min = getMin(scores);
        double sum = sum1(scores);

        double score = (sum - max - min)/4;

        System.out.println("选手最终分数为:"+ score);
    }

    private static double getMax(double[] scores) {
        double max = scores[0];
        for (double score : scores) {
            if(score > max){
                max = score;
            }
        }
        return max;
    }

    private static double getMin(double[] scores) {
        double min = scores[0];
        for (double score : scores) {
            if(score < min){
                min = score;
            }
        }
        return min;
    }


    private static double sum1(double[] scores) {
        double sum = 0;
        for (double score : scores) {
            sum += score;
        }
        return sum;
    }
    private static double[] getScores() {
        Scanner scanner = new Scanner(System.in);
        double[] scores = new double[6];

        for (int i = 0; i < scores.length; ) {
            System.out.println("请录入分数分数在0-100之间");
            double score = scanner.nextDouble();
            if(score >=0 && score <=100){
                scores[i] = score;
                i++;
            }else{
                System.out.println("输入分数有问题 请重新输入");
            }
        }
        return scores;
    }
}
