JAVA异常捕捉机制 接收用户通过键盘不断输入表示某门课程的成绩的字符串(按回车为一个字符串结束),当输入非法数字(输入值小于0或大于100)时提示成绩输入有误,当输入为非数字的字符串时提示输入格式

接收用户通过键盘不断输入表示某门课程的成绩的字符串(按回车为一个字符串结束),当输入非法数字(输入值小于0或大于100)时提示成绩输入有误,当输入为非数字的字符串时提示输入格式不合法。

  • 思路
    本次任务,可以参照我上一篇的进行学习和操作这里写链接内容
    首先,我们要明确题目的意思。通俗来讲就是,假定我们在为一个系统录入成绩,成绩的范围是在0~100之间,如果大于100或者小于0时,抛出异常,提醒你输入成绩出错,请重新输入。
  • 代码
import java.util.Scanner;
public class tianzhan2 {
    public static void main(String args[]){
        while(true){
            System.out.println("输入电子与通信工程专业数理统计的成绩:");
            Scanner s=new Scanner(System.in);//输入前进行扫描,等待a成绩在键盘上的输入
            System.out.println("请输入a");
            int a=s.nextInt();
            int g;//添加一个变量g,用于存放判断后的a
            coreerror d=new coreerror();//自行定义一个异常类
            try{
                int c=d.command(a);//定义c,为通过自定义函数command后的a
                System.out.println("电子与通信工程专业数理统计的成绩是"+c);
                }
            catch(MyException e){
                g=a;
                System.out.print(e);//把接收到的异常信息赋值给e并输出
                System.out.println("输入成绩不合法,"+g+"不符合");
            }
        }
    }
}
class coreerror{//自行定义异常类的功能
    public int command(int a)throws MyException{
        int g=a;
        if(a>100){
            throw new MyException("此时成绩大于100");//需要抛出的异常信息
        }
        else if(a<0){
            throw new MyException("此时成绩小于0");//需要抛出的异常信息
        }
        return g;//返回值
    }
}
class MyException extends Exception{//自定义了一个异常类,继承自Exception类
    MyException(String msg){//构造函数
        super(msg);//继承于父类用super
    }
}
  • 结果
    这里写图片描述

猜你喜欢

转载自blog.csdn.net/quyuquan2014/article/details/82313933