定义一个圆类,该类中有求圆的面积的方法,圆的半径值从键盘输入,当圆的半径值小于0时,抛出一个自定义的异常,否则求圆的面积
时间: 2023-10-31 12:19:43 浏览: 73
好的,以下是一个实现上述功能的圆类的示例代码:
```java
import java.util.Scanner;
class Circle {
private double radius;
public Circle() {
radius = 0.0;
}
public void setRadius(double radius) throws InvalidRadiusException {
if (radius < 0) {
throw new InvalidRadiusException("半径值不能小于0!");
}
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
}
class InvalidRadiusException extends Exception {
public InvalidRadiusException(String message) {
super(message);
}
}
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Circle circle = new Circle();
try {
System.out.print("请输入圆的半径值:");
double radius = input.nextDouble();
circle.setRadius(radius);
System.out.println("圆的面积为:" + circle.getArea());
} catch (InvalidRadiusException e) {
System.out.println("发生异常:" + e.getMessage());
}
}
}
```
在上面的代码中,我们定义了一个 Circle 类,其中包含一个 setRadius 方法用于设置圆的半径值,如果半径值小于 0,就会抛出一个自定义的 InvalidRadiusException 异常。Circle 类还包含一个 getArea 方法用于求圆的面积。
在 main 方法中,我们首先创建了一个 Scanner 对象用于从键盘读取输入,然后创建了一个 Circle 对象。接着我们在 try 块中调用 setRadius 方法设置圆的半径值,并调用 getArea 方法求圆的面积。如果 setRadius 方法抛出了 InvalidRadiusException 异常,就会被 catch 块捕获并输出异常信息。
希望这个示例代码能够回答你的问题,如果还有疑问请随时提出。
阅读全文