自定义一种成绩录入数据异常DataInputException, 当输入的字符不是0-100之间的数值时,抛出该种类型异常,捕获后输出“Data error”,如果输入内容合法,输出输入的数值内容
时间: 2023-06-03 14:06:50 浏览: 43
好的,我了解了您的要求。以下是我给出的解答:
我可以很轻松地完成您的要求。您可以参考下面这份代码:
```
public class DataInputException extends Exception {
public DataInputException(String message) {
super(message);
}
}
public class Score {
private int score;
public void setScore(int score) throws DataInputException {
if (score >= 0 && score <= 100) {
this.score = score;
} else {
throw new DataInputException("Data error");
}
}
public int getScore() {
return score;
}
}
try {
Score score = new Score();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的成绩:");
int inputScore = scanner.nextInt();
score.setScore(inputScore);
System.out.println("您输入的成绩为:" + score.getScore());
} catch (DataInputException e) {
System.out.println(e.getMessage());
} catch (InputMismatchException e) {
System.out.println("Data error");
}
```
在该代码中,我们定义了一个自定义异常类 `DataInputException`,当输入的数值不在 0-100 之间的数值时,就会抛出该异常。
在 `Score` 类中,我们编写了一个 `setScore` 方法,用于设置输入的成绩,并在其中对输入的成绩进行合法性检查。如果输入的成绩不合法,则抛出 `DataInputException` 异常;如果输入的不是一个数字,则抛出 `InputMismatchException` 异常。
在 `try-catch` 语句块中,我们捕获了上述两种异常,并在控制台输出相应的提示信息。如果输入的成绩合法,则调用 `getScore` 方法获取输入的成绩,并在控制台输出。
当然,这只是一份简单的示例代码,您可以根据自己的实际需求进行修改和扩展。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)