• 异常练习题(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

    测试类

    1. public class ExceptionDemo {
    2. public static void main(String[] args) {
    3. //main方法接收的值在右上角编译按钮旁边的下拉框里的第一个选项
    4. // 在构造与项目块里面的第二行里面输入传入的参数
    5. int result= 0;
    6. try {
    7. int i=Integer.parseInt(args[0]);
    8. //Integer是包装类(每一个基础的数据类型都有一个;类)
    9. // 进行拆包:将Integer直接传给一个int变量
    10. // 通过Integer将args[0]的类型变成Integer类型
    11. int j=Integer.parseInt(args[1]);
    12. result = ecm(i,j);
    13. //定义一个ecm()方法
    14. } catch (NumberFormatException e) {
    15. System.out.println("数据转换错误!");
    16. e.printStackTrace();
    17. }catch (ExceptionDefine e) {
    18. e.printStackTrace();
    19. }catch (ArrayIndexOutOfBoundsException e){
    20. System.out.println("参数太少了!");
    21. }catch (ArithmeticException e){//捕捉除数,如果为零,就输出异常
    22. System.out.println("除数为0了!");
    23. }
    24. System.out.println(result);
    25. }
    26. public static int ecm(int a,int b) throws ExceptionDefine{
    27. int c=0;
    28. if(a<0||b<0)//结果不能为负数,如果a,或b小于0抛出一个自定义异常
    29. throw new ExceptionDefine("输入负数了,不行,重新输入!");
    30. else
    31. c=a/b;
    32. return c;
    33. }
    34. }

     自定义的异常类

    1. import javax.management.RuntimeOperationsException;
    2. public class ExceptionDefine extends RuntimeException {
    3. static final long serialVersionUID = -90745766939L;
    4. //序列号,用于匹配抛出的异常,可以通过按ctrl再点击继承的异常父类,在里面复制
    5. //空异常
    6. public ExceptionDefine() {
    7. }
    8. //一个输出带有信息的异常,选择Massage String 异常
    9. public ExceptionDefine(String message) {
    10. //调用super里面的方法输出并打印异常的信息
    11. super(message);
    12. }
    13. }

  • 相关阅读:
    Shell脚本经典案例:探测批量主机是否存活
    java海城同泽中学图书仓库管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
    node.js part1
    MySQL常见面试题(二)
    怎样做好接口自动化测试?
    ArcGIS Pro怎么生成高程点
    TypeScript 基本语法
    基于STM32无人超市消费系统设计
    Arduino开发实例-DIY空气粉尘密度检测仪
    如何进行 360 评估
  • 原文地址:https://blog.csdn.net/m0_56501550/article/details/128148408