/*
*有一个圆形和长方形, 都可以获取面积,对于面积如果出现非法的数值,视为是获取面积失败
*问题通过异常来表示。
*先对这个程序进行基本设计
* */
abstract class Shaps//定义一个图形抽象类
{
abstract double getArea();//获取面积的抽象方法
}
class Rec extends Shaps
{
int len,wit;
Rec(int len,int wit)
{
if(len<=0||wit<=0)
throw new FeiFaValueException("eeor value");
this.len=len;
this.wit=wit;
}
double getArea()
{
return (len*wit);
}
}
class Circle extends Shaps
{
double radius;
public static final double PI=3.14;
Circle(double radius)
{
if(radius<=0)
throw new FeiFaValueException("eeor value");
this.radius=radius;
}
double getArea()
{
return (radius*radius*PI);
}
}
class FeiFaValueException extends RuntimeException
{
FeiFaValueException(String message)
{
super(message);
}
}
public class Exception_LX1
{
public static void main(String[] args)
{
Rec r=new Rec(3,4);
double x=r.getArea();
System.out.println("Rec area="+x);
Circle c=new Circle(-3);
double y=c.getArea();
System.out.println("Circle area="+y);
}
}
*有一个圆形和长方形, 都可以获取面积,对于面积如果出现非法的数值,视为是获取面积失败
*问题通过异常来表示。
*先对这个程序进行基本设计
* */
abstract class Shaps//定义一个图形抽象类
{
abstract double getArea();//获取面积的抽象方法
}
class Rec extends Shaps
{
int len,wit;
Rec(int len,int wit)
{
if(len<=0||wit<=0)
throw new FeiFaValueException("eeor value");
this.len=len;
this.wit=wit;
}
double getArea()
{
return (len*wit);
}
}
class Circle extends Shaps
{
double radius;
public static final double PI=3.14;
Circle(double radius)
{
if(radius<=0)
throw new FeiFaValueException("eeor value");
this.radius=radius;
}
double getArea()
{
return (radius*radius*PI);
}
}
class FeiFaValueException extends RuntimeException
{
FeiFaValueException(String message)
{
super(message);
}
}
public class Exception_LX1
{
public static void main(String[] args)
{
Rec r=new Rec(3,4);
double x=r.getArea();
System.out.println("Rec area="+x);
Circle c=new Circle(-3);
double y=c.getArea();
System.out.println("Circle area="+y);
}
}