62,634
社区成员




public class 评委打分 {
/**
* 题目:在一个比赛中,5个评委要对选手打分,打分的规则是:最低分是0分,最高分是100分,
* 去掉一个最低分,取消一个最高分,然后对剩下的分数取平均分。请用程序完成此打分功能。
注:1.只用模拟对一个选手打分即可
2.评委的打分从控制台输入
3.分数可以为整数也可以为小数
*/
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
float totalFen = 0.0f;
float min = -1.0f;
float max = -1.0f;
for (int i = 1; i < 6; i++) {
System.out.println("请输入第"+i+"位评委的分数:");
String line = scan.nextLine();
float temp = 0.0f;
if (isDecimal(line)) {
temp = Float.valueOf(line);
if (temp<0 || temp>100) {
System.out.println("请输入0-100内的数");
i--;
continue;
}
}
else{
System.out.println("请输入0-100内的数");
i--;
continue;
}
if (i == 1) {
min = temp;
max = temp;
}
else{
if (min > temp) {
min = temp;
}
if (max < temp) {
max = temp;
}
}
totalFen += temp;
System.out.println("total:"+totalFen);
}
System.out.println(totalFen+","+max+","+min);
System.out.println("最终分数为:"+(totalFen-max-min)/3.0);
}
/**
* 判断用户输入的是否是一个数(包括整数和小数)
* @param s
*/
public static boolean isDecimal(String s){
boolean flag = true;
try {
float dec = Float.valueOf(s);
} catch (NumberFormatException e) {
flag = false;
}
return flag;
}
}