黑马程序员技术交流社区
标题:
代码执行结果问题
[打印本页]
作者:
Friendy89
时间:
2013-4-5 10:34
标题:
代码执行结果问题
本帖最后由 Friendy89 于 2013-4-6 09:36 编辑
class NoValueException extends Exception
{
NoValueException(String msg)
{
super(msg);
}
}
interface Shape
{
void getArea();
}
class Rec implements Shape
{
private int len,wid;
Rec(int len,int wid)throws NoValueException
{
if (len<=0||wid<=0)
throw new NoValueException("出现非法值 长宽值");
this.len=len;
this.wid=wid;
}
public void getArea()
{
System.out.println("RecShape="+len*wid);
}
}
class Cir implements Shape
{
public static final double PI = 3.14;
private int r;
Cir(int r)throws NoValueException
{
if (r<=0)
throw new NoValueException("出现非法值 半径");
this.r=r;
}
public void getArea()
{
System.out.println("CirShape="+PI*r*r);
}
}
class ExceptionTest1
{
public static void main(String[] args)
{
try
{
Rec r=new Rec(-3,4);
r.getArea();
Cir c=new Cir(5);
}
catch (NoValueException e)
{
System.out.println(e.toString());
}
System.out.println("Over");
}
}
程序中Rec的len和wid任意一个为负数后,CirShape的值就不运算了,但是r的值为负数时RecShape却可以运算,为什么,代码应该怎么改可以让Rec的len和wid任意一个为负数后,CirShape的值仍可以运算
作者:
田光峰
时间:
2013-4-5 12:26
class NoValueException extends Exception
{
NoValueException(String msg)
{
super(msg);
}
}
interface Shape
{
void getArea();
}
class Rec implements Shape
{
private int len,wid;
Rec(int len,int wid)throws NoValueException
{
if (len<=0||wid<=0)
throw new NoValueException("出现非法值 长宽值");
this.len=len;
this.wid=wid;
}
public void getArea()
{
System.out.println("RecShape="+len*wid);
}
}
class Cir implements Shape
{
public static final double PI = 3.14;
private int r;
Cir(int r)throws NoValueException
{
if (r<=0)
throw new NoValueException("出现非法值 半径");
this.r=r;
}
public void getArea()
{
System.out.println("CirShape="+PI*r*r);
}
}
class ExceptionTest1
{
public static void main(String[] args)
{
try
{
Rec r=new Rec(-3,4);
r.getArea();
Cir c=new Cir(5);
}
catch (NoValueException e)
{
System.out.println(e.toString());
}
System.out.println("Over");
}
}
因为抛出两个异常你应该分别写两个捕获异常,不然不的话一个抛出异常另一个就不能执行了。
作者:
Friendy89
时间:
2013-4-5 12:56
田光峰 发表于 2013-4-5 12:26
class NoValueException extends Exception
{
NoValueException(String msg)
具体应该怎么改呢,麻烦吧改好之后的程序发给我看下,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2