当前位置: 代码迷 >> Java相关 >> 请大侠们帮帮看看 谢谢了
  详细解决方案

请大侠们帮帮看看 谢谢了

热度:85   发布时间:2010-06-14 11:02:42.0
请大侠们帮帮看看 谢谢了
请大家帮我看看哪里还不行 小弟是新手 麻烦下大家了 谢谢
、定义一个Circle类,其中有求面积的方法,当圆的半径小于0时,抛出一个自定义的异常,试编程实现之。

class Circle{
    double radius;
    Circle(double r){
        radius=this.r;
    }
    double Area(){
        return 3.14*radius*radius;
    }
    void setRadius(double newRadius)throws MyException{
        if(r<0){
            MyException ex=new MyException(r);
        }
        radius=newRadius;
    }
    double getRadius(){
        
        return radius;
    }
}

public class cs{
        public static void main(String[] args){
        
    Circle c=new Circle(-1);
    try{
       c.setRadius(-1);
    }
    catch(MyException e){
        System.out.println("出现异常");
    }
}
}
搜索更多相关的解决方案: double  class  return  

----------------解决方案--------------------------------------------------------
没有定义public class MyException
----------------解决方案--------------------------------------------------------
我现在改成了下面的 不知道哪里不行  请再帮忙看看  谢谢

class MyException extends Exception{
    String message;
    MyException( double n){
        message=n+"不是正数";
    }
    public String getMessage(){
        return message;
    }
}
class Circle{
    double radius;
    Circle(double r){
        radius=this.r;
    }
    double Area(){
        return 3.14*radius*radius;
    }
    void setRadius(double newRadius)throws MyException{
        if(r<0){
            MyException ex=new MyException(r);
        }
        radius=newRadius;
    }
    double getRadius(){
        
        return radius;
    }
}

public class cs{
        public static void main(String[] args){
        
    Circle c=new Circle(-1);
    try{
       c.setRadius(-1);
    }
    catch(MyException e){
        System.out.println(e.getMessage());
    }
}
}
----------------解决方案--------------------------------------------------------
程序代码:
class MyException extends RuntimeException{ //继承RuntimeException类
    String message;
    MyException( double n){
        message=n+"不是正数";
    }
    public String getMessage(){
        return message;
    }
}
class Circle{
    double radius;
    Circle(double r){
        radius=r;
    }
    double Area(){
        return 3.14*radius*radius;
    }
    void setRadius(double newRadius) {
        if(newRadius>0){
            radius=newRadius;
        } else {
            throw new MyException(newRadius);
        }
      
    }
    double getRadius(){
      
        return radius;
    }
}

public class cs{
        public static void main(String[] args){
      
    Circle c=new Circle(-1);
    try{
       c.setRadius(-1);
    }
    catch(MyException e){
        System.out.println(e.getMessage());
    }
}
}

----------------解决方案--------------------------------------------------------
  相关解决方案