请大侠们帮帮看看 谢谢了
请大家帮我看看哪里还不行 小弟是新手 麻烦下大家了 谢谢、定义一个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("出现异常");
}
}
}
----------------解决方案--------------------------------------------------------
没有定义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());
}
}
}
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());
}
}
}
----------------解决方案--------------------------------------------------------