java从键盘接收学生成绩,成绩介于0-100。自定义一个无效成绩的异常,编写方法接受成绩,如果输入无效成绩,则输出该异常
时间: 2024-10-24 20:07:14 浏览: 31
在Java中,你可以创建一个自定义的`InvalidScoreException`异常来处理这种情况。首先,你需要定义这个异常类,它通常继承自`RuntimeException`。然后,你可以编写一个方法来获取用户输入的成绩并检查其有效性。以下是具体的步骤:
```java
// 定义自定义的异常类 InvalidScoreException
class InvalidScoreException extends RuntimeException {
public InvalidScoreException(String message) {
super(message);
}
}
// 创建方法,接受用户输入的成绩
public void inputAndCheckScore() {
Scanner scanner = new Scanner(System.in); // 获取键盘输入
System.out.println("请输入学生成绩(0-100): ");
try {
int score = scanner.nextInt(); // 接收整数输入
if (score < 0 || score > 100) { // 检查成绩是否有效
throw new InvalidScoreException("输入的成绩不在有效范围内(0-100)");
}
// 如果成绩有效,可以在此处处理其他业务逻辑
System.out.println("成绩已记录.");
} catch (InputMismatchException e) { // 处理非数字输入
System.out.println("输入错误,请输入一个0到100之间的整数.");
} catch (InvalidScoreException ex) { // 处理无效成绩异常
System.out.println(ex.getMessage());
} finally {
scanner.close(); // 关闭Scanner
}
}
```
在这个例子中,如果用户输入了无效的成绩(例如负数、超过100或非数字),程序会抛出`InvalidScoreException`异常,并显示相应的错误信息。
阅读全文