博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java异常练习2
阅读量:7171 次
发布时间:2019-06-29

本文共 2002 字,大约阅读时间需要 6 分钟。

/*

有一个圆形和长方形
都可以获取面积,对于面积,如果出现非法数值,视为获取面积出现问题
问题通过异常来表示。
先要对这个程序进行基本的设置
*/
/*首先想一下,怎么写这个程序
基本属性是肯定要的
求面积呢?
1.可以定义成函数
2.可以定义成接口
3.或者数据库什么的
*/

1 interface Shape       /*可以直接打印,可以返回*/ 2 { 3     void getArea();  /*要传递参数吗?不需要,因为这是抽象类,需要把一些共同的属性抽取出来,这里并没有,需要重写,这里重新获取就可以*/ 4 } 5 class NoValueException extends RuntimeException 6 { 7     NoValueException(String message)     /*构造函数*/ 8     { 9         super(message);             /*调用父类的构造函数*/   /*这里是父类的错误信息,直接能够赋值的*/10     }11 }12 class Cricle implements Shape13 {    14     private int radius;15     public static final double PI=3.14;16     Cricle(int radius)17     {18         if(radius<0)19             throw new RunTimeException("非法");    /*使用这个异常名称不好,不好处理问题,应该自定义名称*/20         this.radius=radius;21     }22     public void getArea()23     {24         System.out.println(radius*radius*PI);   /*不需要改动的值起一个名字  PI*/25     }26 }27 28 29 class Rec implements Shape            /*长方形*/30 {31     private int len,wid;    /*定义长和宽*/32     Rec(int len,int wid)    /*这哥们一初始化就有这个东西*/33     {34         if(len<=0||wid<=0)35         {36             throw new NoValueException("出现非法值");37         }38         39         this.len=len;     /*进行赋值*/40         this.wid=wid;41     42     }43     public void getArea()                   /*进行重写*/44     {45         System.out.println(len*wid);      /*直接打印输出面积*/46     }47 }48 49 50 class ExceptionText151 {52     public static void main(String args[])53     {54         //try                           /*检测代码块*/55         //{
56 Rec r=new Rec(3,4); /*你发现输入负数,面积为负数,这是不允许的,以前用if避免,但现在,请你用*/57 r.getArea(); /*如果上面的代码出现了错误,这块就不运行了*/58 //}59 //catch(NoValueException e) /*接收异常,这种处理是没有用的*/60 //{61 //System.out.println(e.toString()); /*输出异常信息*/62 //}63 System.out.println("over"); /*最后输出*/ /*然而运行这是没有用的,还不如直接用运行时异常,不需要检查捕捉处理,直接停掉*/64 }65 }

 

转载于:https://www.cnblogs.com/liangqiyuan/p/5645119.html

你可能感兴趣的文章
Hive 数据倾斜总结
查看>>
mysql查询结果处理
查看>>
扫描识别控件Dynamic Web TWAIN v12.3.1发布,更新服务证书丨附下载
查看>>
VintaSoft PDF插件VintaSoftPDF.NET Plug-in更新至v5.6,新增多页查看模式
查看>>
windows环境中不重启电脑杀死占用某个端口的进程
查看>>
“90+68”的完美转变
查看>>
Kubernetes上的负载均衡详解
查看>>
centos7格式化大于2T的硬盘
查看>>
为什么要进行项目总结呢?又如何进行项目总结呢?
查看>>
iOS——重写Cell分割线
查看>>
window与linux下,php的redis扩展安装
查看>>
VirtualBox虚拟机网络设置
查看>>
Mongodb 之 安全权限控制
查看>>
httpclient发送网络请求
查看>>
可自动切换登录不同系统测试实例
查看>>
jQuery Validate
查看>>
Building IKEv1 and IKEv2 on CentOS 7
查看>>
Spring AOP就是这么简单啦
查看>>
如何解决生产环境宕机问题
查看>>
阿里云弹性容器实例产品 ECI ——云原生时代的基础设施
查看>>