学校比赛现场有10个评委,要求从键盘输入10个分数作为评委对一名选手的打分,评分规则为去掉一个最高分,去掉一个最低分,求该名选手平均分,打印到控制台。
package com.stx.p3;
import java.util.Arrays;
import java.util.Scanner;
/**
* @Author HanLin
* @Date 2021/2/10 12:11
* @Version 1.0
*/
public class test03 {
public static void main(String[] args) {
float[] floats = new float[10];
int i = 1;
Scanner s = new Scanner(System.in);
// 用户输入裁判分数 支持小数和整数
while (i <= 10) {
System.out.printf("请输入第" + i + "个裁判的分数【回车结束】:");
String str = s.next();
// System.out.println(str);
//将 用户输入的字符串转为float
try {
floats[i - 1] = Float.parseFloat(str);
} catch (NumberFormatException e) {
System.out.println("只能输入整数或则小数!!!!");
break;
}
i++;
}
System.out.println("用户输入的数据数组"+Arrays.toString(floats));
Arrays.sort(floats);
System.out.println("升序排序后:"+Arrays.toString(floats));
// (总得分-最高分-最低分)/(评委数-2)
float result=0;
for (int j=1;j<(floats.length-1);j++){
// System.out.println("下标"+j+"\t 值"+floats[j]);
result+=floats[j];
}
result=result/(floats.length-2);
// 输出计算的结果
System.out.println("此选手的最终成绩为:"+result);
}
}