在学习Java异常处理时如何使程序输出中出现 exception in thread main java.lang.exception:成绩输入异常
任务:接收给定的一行字符串(某学生各科成绩),当某科成绩大于 100 或者小于 0 时,抛出一个异常(Exception),提示“成绩录入异常”。最后统计该学生各科平均成绩。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,接收给定的一行字符串(某学生各科成绩),当某科成绩大于 100 或者小于 0 时,抛出一个异常(Exception),提示“成绩录入异常”。最后统计该学生各科平均成绩。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧 “测试结果”区查看具体的测试集详情。 示例: 输入:
88 88 91
输出:
该学生平均成绩为:89
输入:
103 78 90
输出:
Exception in thread "main" java.lang.Exception: 成绩录入异常
自己定义一个异常类,该异常继承Exception类
当成绩小于0或大于100时抛出一个异常,使用throws
import java.util.Scanner;
public class TestExcept {
public static void main(String[] args) throws MyException {
Scanner in = new Scanner(System.in);
int score[] = new int[3];
score[0] = in.nextInt();
score[1] = in.nextInt();
score[2] = in.nextInt();
float sum = 0;
for(int i = 0;i<score.length;i++) {
if(score[i]<0 || score[i]>100) {
throw new MyException("成绩录入异常");
}else {
sum += score[i];
}
}
System.out.println("该学生平均成绩为:"+ sum/3);
}
}
class MyException extends Exception{
String message;
public MyException() {
}
public MyException(String message) {
super(message);
this.message = message;
}
@Override
public String getMessage() {
return "Exception in thread \"main\" java.lang.Exception: " + message;
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y