编写java程序,允许用户在键盘上依次输入若干个数字(每输入一个数字都需要按回车)。若输入的数字在0到100之间,则输出这些数字之和以及他们的平均数。当用户输入的数字大于100或小于0时程序执行try catch,抛出异常,并提示这是一个非法的成绩数据
时间: 2024-02-28 20:52:56 浏览: 12
好的,以下是Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
int count = 0;
while (true) {
try {
int num = Integer.parseInt(scanner.nextLine());
if (num >= 0 && num <= 100) {
sum += num;
count++;
System.out.println("当前和:" + sum + ",当前平均数:" + ((double) sum / count));
} else {
throw new IllegalArgumentException("非法的成绩数据");
}
} catch (NumberFormatException e) {
System.out.println("输入的不是数字,请重新输入");
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage() + ",请重新输入");
}
}
}
}
```
程序会不断读取用户输入的数字,如果输入的数字在0到100之间,就将它们累加到变量sum中,并增加计数器count的值。同时,输出当前的和sum和平均数(sum/count)。
如果输入的数字不是数字,会抛出NumberFormatException异常,并提示用户重新输入。如果输入的数字不在0到100之间,会抛出IllegalArgumentException异常,并提示用户重新输入。