定义一个圆类,该类中有求圆的面积的方法,圆的半径从键盘输入,当圆的半径小于0时,抛出一个自定义的异常类,否则求圆的面积
时间: 2023-10-31 16:19:44 浏览: 77
定义一个圆类circle,它有一个变量radius(半径)。从键盘输入数据,通过构造函数的参数传递给radius,编程计算并输出圆的的周长和面积。但是,必须确保输入的数据不为复数。
5星 · 资源好评率100%
好的,以下是一个符合要求的Java代码:
```java
import java.util.Scanner;
// 自定义异常类
class InvalidRadiusException extends Exception {
public InvalidRadiusException(String message) {
super(message);
}
}
// 圆类
class Circle {
private double radius; // 圆的半径
public Circle(double radius) throws InvalidRadiusException {
if (radius < 0) {
throw new InvalidRadiusException("半径不能为负数!");
}
this.radius = radius;
}
// 计算圆的面积
public double calculateArea() {
return Math.PI * Math.pow(radius, 2);
}
// 获取圆的半径
public double getRadius() {
return radius;
}
// 设置圆的半径
public void setRadius(double radius) throws InvalidRadiusException {
if (radius < 0) {
throw new InvalidRadiusException("半径不能为负数!");
}
this.radius = radius;
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入圆的半径:");
double radius = scanner.nextDouble();
try {
Circle circle = new Circle(radius);
System.out.println("圆的面积为:" + circle.calculateArea());
} catch (InvalidRadiusException e) {
System.out.println("输入错误:" + e.getMessage());
}
}
}
```
在上面的代码中,我们首先定义了一个自定义的异常类 `InvalidRadiusException`,用于处理半径输入小于0的情况。然后我们定义了一个圆类 `Circle`,在构造方法中判断半径是否小于0,如果小于0就抛出自定义的异常类。计算圆的面积的方法 `calculateArea` 和获取和设置圆的半径的方法 `getRadius` 和 `setRadius` 都是跟之前的代码相同的。
在 `main` 方法中,我们通过 `Scanner` 类从键盘输入半径,然后通过 try-catch 语句块来处理半径输入小于0的异常。如果半径输入正确,就创建一个新的圆对象并输出面积。如果半径输入错误,就输出错误信息。
阅读全文