.编写一个评分系统,功能 下, 用JOonPe输人10个 uble数值,分别是10个评委的亮分,如果编入的内容 法转换成为 oble,重新出现输入 ,并且在输入 上 示对不 ,您输 格式有 误,请您重新输人” ,最后显示 高分、最低分和平均分。 注意:用异常处理来解决格式的问题,
时间: 2023-07-15 12:14:37 浏览: 125
以下是使用Java编写的评分系统代码,其中使用了异常处理来解决格式问题:
```java
import java.util.Scanner;
public class ScoreSystem {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double[] scores = new double[10];
boolean validInput = false;
do {
try {
System.out.print("请输入10个评委的分数:");
for (int i = 0; i < 10; i++) {
String str = input.next();
scores[i] = Double.parseDouble(str);
}
validInput = true;
} catch (NumberFormatException e) {
System.out.println("您输入的格式有误,请重新输入!");
}
} while (!validInput);
double maxScore = scores[0];
double minScore = scores[0];
double sum = scores[0];
for (int i = 1; i < 10; i++) {
if (scores[i] > maxScore) {
maxScore = scores[i];
}
if (scores[i] < minScore) {
minScore = scores[i];
}
sum += scores[i];
}
double avgScore = (sum - maxScore - minScore) / 8;
System.out.println("最高分:" + maxScore);
System.out.println("最低分:" + minScore);
System.out.println("平均分:" + avgScore);
}
}
```
在上述代码中,我们使用了一个 `do-while` 循环来不断尝试读取用户输入,直到输入格式正确为止。如果用户输入了不能被解析成 `double` 类型的字符串,则会抛出 `NumberFormatException` 异常,程序会提示用户重新输入。如果输入格式正确,则将输入的分数存储到数组中,并计算出最高分、最低分和平均分,并输出到屏幕上。
阅读全文