异常练习题(Java)-创新互联

问题描述:编写程序ExceptionDemo.iava,接收命令行的两个参数,要求不能输入负数,计算两个数相除的值。
要求: 对以下异常进行捕捉。
。数据类型不一致:NumberFormatException
。缺少命令行参数:ArrayIndexOutOfBoundsException
。除0  ArithmeticException
。输入负数:自定义异常ExceptionDefine
**提示:        
·主类(ExceptionDemo)中定义异常方法(ecm)完成两数相除功能。
。在main()方法中使用异常处理语句进行异常处理。
。在程序中,自定义对应输入负数的异常类(ExceptionDefine)。
。运行时接受参数 20  10 //args[0]=“20”args[1]="10”。
。Interger类的static方法parselnt(String s)将s转换成对应的int值。
。如:int a=Interger.parselnt(“314");
。 //a=314 测试类
public class ExceptionDemo {
    public static void main(String[] args) {
        //main方法接收的值在右上角编译按钮旁边的下拉框里的第一个选项
        // 在构造与项目块里面的第二行里面输入传入的参数
        int result= 0;
        try {
            int i=Integer.parseInt(args[0]);
            //Integer是包装类(每一个基础的数据类型都有一个;类)
            // 进行拆包:将Integer直接传给一个int变量
            // 通过Integer将args[0]的类型变成Integer类型
            int j=Integer.parseInt(args[1]);
            result = ecm(i,j);
            //定义一个ecm()方法
        } catch (NumberFormatException e) {
            System.out.println("数据转换错误!");
            e.printStackTrace();
        }catch (ExceptionDefine e) {
            e.printStackTrace();
        }catch (ArrayIndexOutOfBoundsException e){
            System.out.println("参数太少了!");
        }catch (ArithmeticException e){//捕捉除数,如果为零,就输出异常
            System.out.println("除数为0了!");
        }
        System.out.println(result);
    }
    public static int ecm(int a,int b) throws ExceptionDefine{
        int c=0;
        if(a<0||b<0)//结果不能为负数,如果a,或b小于0抛出一个自定义异常
            throw new  ExceptionDefine("输入负数了,不行,重新输入!");
        else
            c=a/b;
        return c;
    }
}
自定义的异常类
import javax.management.RuntimeOperationsException;

public class ExceptionDefine extends RuntimeException {
    static final long serialVersionUID = -90745766939L;
    //序列号,用于匹配抛出的异常,可以通过按ctrl再点击继承的异常父类,在里面复制

    //空异常
    public ExceptionDefine() {
    }

    //一个输出带有信息的异常,选择Massage String 异常
    public ExceptionDefine(String message) {
        //调用super里面的方法输出并打印异常的信息
        super(message);
    }
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

创新互联公司网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都网站设计、成都网站建设、外贸网站建设app开发定制以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联公司深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
文章名称:异常练习题(Java)-创新互联
文章路径:http://scyanting.com/article/gsigg.html