在唱歌比赛中,有6名评委给选手打分,分数范围是[0-100]之间的整数。选手的最后得分为:去掉最高分,最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。
public class MethodTest9 {
public static void main(String[] args) {
//1.使用数组,将评委的分数录入到程序中
int[] pw=new int[]{55,65,95,85,75,85};
sum(pw);
}
//2.遍历数组,找出最高分和最低分,并且进行累加求和
public static void sum(int[] a){
//定义最高分和最低分和总分
int max=0;
int min=100;
double sum=0;
for (int i = 0; i < a.length; i++) {
//找出最大值
if(max<a[i]){
max=a[i];
}
//找出最小值
if (min>a[i]){
min=a[i];
}
sum+=a[i]; //求出各项的和
}
//按照平均分计算出选手的得分
sum = (sum - (max + min)) /(a.length-2);
System.out.println(sum);
}
}
通过学习教程,1.将静态输入数组改成了动态输入数组:
int[] pw=new int[6];
//录入评委的分数
Scanner sc=new Scanner(System.in);
for (int i = 0; i < pw.length; i++) {
System.out.printf( "请您输入第" + (i + 1) + "个评委的得分");
int a=sc.nextInt();
//将分数存入到数组的对应位置处
pw[i]=a;
}
2.将最高分和最低分的定义改成了定义数组中的第一个数据:
int max=a[0];
int min=a[0];