本帖最后由 夜写意 于 2013-7-24 19:12 编辑
是看毕老师视频的时候碰到的。
程序也是按照视频上的打的,大同小异。
在建立长方形和圆的对象的时候,先建立长方形的对象,然后再建立圆的。
现在问题出来了,如果长方形的长和宽的数值是符合规则的,就会输出长方形的面积,并且执行建立圆的对象的步骤。如果长方形那步出了异常,圆那步就跳过了。
是不是RuntimeException就是这样的?还是因为我用的是eclipse的原因?
下面是代码
- /*
- * 有一个圆形和长方形。都可以获取面积。对于面积如果出现非法的数值,视为是获取面积出现问题。
- * 问题通过异常来表示。
- *
- * */
- interface Shape
- {
- void getArea();
- }
- class CdException extends RuntimeException
- {
- CdException(String message)
- {
- super(message);
- }
- }
- class Rec implements Shape
- {
- private int len,wid;
- Rec(int len, int wid)
- {
- if (len <=0 || wid <=0)
- throw new CdException("2222错误!");
- this.len = len;
- this.wid = wid;
- }
- public void getArea()
- {
- System.out.println(len*wid);
- }
- }
- class Circle implements Shape
- {
- private int r;
- public static final double pi=3.14;
- Circle (int r)
- {
- if (r <= 0)
- throw new CdException("数组错误!");
- this.r=r;
- }
- public void getArea()
- {
- System.out.println(r*r*pi);
- }
- }
- public class YCTest
- {
- public static void main(String[] args)
- {
- Rec r = new Rec(-5,6);
- r.getArea();
- Circle c = new Circle(5);//如果new Rec(-5,6)出现异常,这里就跳过了。
- c.getArea();
- }
- }
复制代码 |