需求:在唱歌比赛中,可能有多名评委要给选手打分,分数是[0-100]之间的整数。选手最后得分为去掉最高分,最低分后剩余分数的平均分,请编写程序能够录入多名评委的分数,并算出选手的最终得分
import java.util.Scanner;
public class JudgesScore {
public static void main(String[] args) {
if (calculate()>0) {
System.out.println(calculate());
}
}
public static double calculate(){
Scanner sc=new Scanner(System.in);
System.out.println("请输入评委人数");
int count=sc.nextInt();
// 如果评委小于等于两人,则无法得分
if(count<=2){
System.out.println("无法打分");
return 0;
}
int[] score=new int[count];
// 输入分数
for(int i=0;i<count;i++){
System.out.println("请输入第"+(i+1)+"个评委的分数");
score[i]=sc.nextInt();
}
int max=score[0];
int min=score[0];
int sum=score[0];
for(int i=1;i<score.length;i++){
// 求和
sum=sum+score[i];
// 获得最高分
if(score[i]>max){
max=score[i];
}
// 获得最低分
if(score[i]<min){
min=score[i];
}
}
// 去除最高分和最低分
sum=sum-max-min;
// aver是平均数
double aver=1.0*sum/(count-2);
return aver;
}
}