A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 追逐 高级黑马   /  2014-3-16 23:17  /  685 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
有一个圆和长方形
都可以获取面积,对于面积如果出现非法的数值,视为是获取面积出现问题。
问题通过异常来表示。
现有对这个程序基本设计

计算面积的时候有可能出现异常。所以我们自定义一个异常类

*/
//定义一个计算面积的函数
interface Shape {
        public abstract void getArea();
}

class NoValueException extends RuntimeException {
       
        NoValueException(String mas) {
                super(mas);
        }
       
}

//定义一个圆类
class Crecle implements Shape {
       
        public static final double PI = 3.14; //定义一个常量
        private int ban; //定义半径
        Crecle(int ban) {
                if(ban <= 0)
                        throw new NoValueException("非法数据类型");
                this.ban = ban;
        }
       
        //定义一个函数计算圆的面积
        public void getArea() {
                System.out.println(ban * ban * PI);
        }
       
}

//定义一个长方形的类
class Rec implements Shape {
       
        private int ch, ku; //定义长方形的长和宽
        Rec(int ch, int ku) {
                if(ch <= 0 || ku <= 0)
                        throw new NoValueException("非法操作");
                this.ch = ch;
                this.ku = ku;
        }
       
        //覆盖接口的函数。求面积
        public void getArea() {
                System.out.println(ch * ku);
        }
       
}

//运行类
class ExceptionTest {
        public static void main(String[] args) {
                Crecle c = new Crecle(3);
                c.getArea();
                Rec r = new Rec(3, 2);
                r.getArea();
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马