public class Demo01 { public static void main(String[] args) { int max = 0;//最高分, 也可以将第一个成绩作为最高分 int min = 100;//最低分, 也可以将第一个成绩作为最低分 int sum = 0;//总分 double avg = 0;//平均分 int num = 10;//num个评委在打分 int score = 0;//输入的分数 Scanner input = new Scanner(System.in); for (int i = 0; i < num;i++ ) { System.out.println("请第"+(i+1)+"个评委打分"); score = input.nextInt(); //判断成绩是否正确 /* if(!(score>=1 && score<=100)){ i--; continue; }*/ do{ if(score>=1 && score<=100){ break; }else{ System.out.println("成绩超出[1,100]的范围,请重新输入"); score = input.nextInt(); } }while(!(score>=1 && score<=100));//true就可以了 //成绩的算法 if(max<score){ max = score; } if(min>score){ min = score; } sum += score; } avg = (sum-min-max)/8.0; System.out.println("选手最高分:"+max); System.out.println("选手最低分:"+min); System.out.println("选手总分:"+sum); System.out.println("选手最后得分:"+avg); } }解释这些代码的含义
时间: 2024-02-14 10:26:51 浏览: 72
这段代码是一个Java程序,主要用于计算评委打分的最高分、最低分、总分和平均分。
1. 首先定义了一些变量:
- `max`:用于保存最高分的变量,初始值为0。
- `min`:用于保存最低分的变量,初始值为100。
- `sum`:用于保存总分的变量,初始值为0。
- `avg`:用于保存平均分的变量,初始值为0。
- `num`:表示评委的数量,这里设定为10。
- `score`:表示输入的评委打分。
2. 创建一个`Scanner`对象`input`,用于接收用户输入。
3. 使用`for`循环遍历评委的数量。在循环中,依次提示每个评委打分,并将输入的分数存储在`score`变量中。
4. 使用`do-while`循环来判断输入的分数是否在有效范围[1, 100]内。如果不在范围内,则提示用户重新输入,直到输入合法的分数为止。
5. 根据评委的打分,更新最高分、最低分和总分。如果当前打分大于最高分,则更新最高分;如果当前打分小于最低分,则更新最低分;同时将当前打分累加到总分中。
6. 循环结束后,计算平均分。将总分减去最高分和最低分,然后除以评委数量减2(即去掉最高分和最低分的评委数量)。
7. 最后,打印出最高分、最低分、总分和平均分的结果。
这段代码演示了如何处理评委打分,并计算相关的统计数据。
阅读全文