/*
有一个圆和长方形
都可以获取面积,对于面积如果出现非法的数值,视为是获取面积出现问题。
问题通过异常来表示。
现有对这个程序基本设计
计算面积的时候有可能出现异常。所以我们自定义一个异常类
*/
//定义一个计算面积的函数
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();
}
} |
|