Java趣味题5 - 评委打分 答案

angerlie 2016-01-26 06:34:21
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;
}

}
...全文
883 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
检查到输入不符合规范的话,还需要i-- 似乎有点多此一举 可以考虑用 i=1; while(true) { if(不符合) {continue;} else {执行} if(++i==5) break; }

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧