importjava.util.Scanner;publicclassFDemo{publicstaticvoidmain(String[] args){/*
* 唱歌比赛评委打分
* 需求:在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。
* 选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。
* *///1.定义一个数组,用来存储6名评委的打分(0~100)int[] arr =getScores();//2.求出数组中的最大值int max =getMax(arr);//3.求出数组中的最小值int min =getMin(arr);//4.求出数组中6个分数的总和int sum =getSum(arr);//5.(总和 - 最大值 - 最小值) / 4int avg =(sum - max - min)/(arr.length -2);System.out.println("选手的最终得分为:"+ avg);}//1.定义一个数组,用来存储6名评委的打分(0~100)publicstaticint[]getScores(){//定义数组int[] scores =newint[6];//从键盘录入6个分数,范围:0 ~ 100Scanner sc =newScanner(System.in);for(int i =0; i < scores.length;){System.out.print("请输入评委的打分:");int score = sc.nextInt();if(score >=0&& score <=100){
scores[i]= score;
i++;//将for循环中的i++挪到此处,则如果分数不合法,就会一直要求输入。}else{System.out.println("您输入的成绩不合法,请继续输入!");}}return scores;}//2.求出数组中的最大值publicstaticintgetMax(int[] scores){int max = scores[0];//因为max = scores[0],则i从1开始,减少一次比较for(int i =1; i < scores.length; i++){
max = max > scores[i]? max : scores[i];}return max;}//3.求出数组中的最小值publicstaticintgetMin(int[] scores){int min = scores[0];//因为max = scores[0],则i从1开始,减少一次比较for(int i =1; i < scores.length; i++){
min = min < scores[i]? min : scores[i];}return min;}//4.求总和publicstaticintgetSum(int[] scores){int sum =0;for(int i =0; i < scores.length; i++){
sum = sum + scores[i];}return sum;}}