java从键盘接收学生成绩,成绩介于0-100。自定义一个无效成绩的异常,编写方
时间: 2024-10-18 14:03:40 浏览: 20
在Java中,你可以创建一个自定义的`InvalidScoreException`异常来处理这种情况。首先,你需要定义一个`InvalidScoreException`类,它继承自`RuntimeException`。以下是实现的一个简单例子:
```java
public class InvalidScoreException extends RuntimeException {
public InvalidScoreException(String message) {
super(message); // 使用父类构造函数,并传递错误信息
}
}
public class Main {
public static void main(String[] args) {
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("学生成绩:" + score);
} catch (InputMismatchException e) {
System.out.println("输入有误,请输入整数。");
scanner.next(); // 清理输入流
} catch (InvalidScoreException e) {
System.out.println(e.getMessage());
} finally {
scanner.close(); // 关闭扫描器以释放资源
}
}
}
```
在这个示例中,我们尝试从键盘接收用户的输入作为成绩。如果输入不是有效的整数或者不在0到100范围内,我们会抛出`InvalidScoreException`异常,并显示相应的错误信息。`catch`块用于捕获并处理不同类型的异常。
阅读全文