java实现circle类,运行时输入任意半径都能求圆的面积,做好类的封装,同时考虑正常输入、异常输入两种情况
时间: 2024-12-14 12:28:50 浏览: 17
在Java中,我们可以创建一个名为Circle的类,用于表示圆形,并包含计算面积的方法。为了处理正常输入和异常输入,我们将使用try-catch块来捕获可能出现的异常,如非数字输入。以下是Circle类的一个简单实现:
```java
import java.util.Scanner;
public class Circle {
private double radius; // 圆的半径,属性需要进行封装
/**
* Circle类构造函数,接受半径作为参数
* @param radius 圆的半径
*/
public Circle(double radius) throws IllegalArgumentException {
if (radius <= 0) {
throw new IllegalArgumentException("半径必须大于零");
}
this.radius = radius;
}
/**
* 计算并返回圆的面积
* @return 圆的面积
*/
public double getArea() {
return Math.PI * Math.pow(radius, 2);
}
// 主程序入口
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入圆的半径:");
try {
double inputRadius = scanner.nextDouble();
Circle circle = new Circle(inputRadius);
System.out.printf("圆的半径为 %.2f,面积为 %.2f\n", circle.getRadius(), circle.getArea());
} catch (Exception e) {
System.out.println("输入错误,请输入一个正数。");
e.printStackTrace();
} finally {
scanner.close(); // 关闭扫描器
}
}
}
```
在这个实现中,我们首先验证了输入半径是否有效,如果输入的半径小于等于0,则抛出IllegalArgumentException。然后在`main`方法中,用户可以输入半径,系统会计算并打印圆的面积。如果输入不是有效的数字,会捕获`InputMismatchException`并在catch块中处理。
阅读全文