定义一个Circle类表示圆,在其中定义变量radius表示圆的半径,另外定义了4个方法,分别是设置和返回圆的半径、求圆的周长和面积。其中圆周率使用了java.lang.Math.PI常量。画出该类的UML图,并编写一个测试程序,设置圆的半径,调用Circle类的方法求得圆的周长和面积。
时间: 2023-10-31 12:13:58 浏览: 122
定义一个圆类circle,它有一个变量radius(半径)。从键盘输入数据,通过构造函数的参数传递给radius,编程计算并输出圆的的周长和面积。但是,必须确保输入的数据不为复数。
5星 · 资源好评率100%
好的,我会为您解答这个问题。
首先,这是Circle类的UML图:
```
+----------------------+
| Circle |
+----------------------+
| - radius: double |
+----------------------+
| + Circle() |
| + Circle(radius: double) |
| + getRadius(): double |
| + setRadius(radius: double): void |
| + getPerimeter(): double |
| + getArea(): double |
+----------------------+
```
下面是Circle类的Java代码实现:
```java
public class Circle {
private double radius;
public Circle() {
this.radius = 1.0;
}
public Circle(double radius) {
this.radius = radius;
}
public double getRadius() {
return this.radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double getPerimeter() {
return 2 * Math.PI * this.radius;
}
public double getArea() {
return Math.PI * this.radius * this.radius;
}
}
```
上述代码中,定义了一个Circle类,它包含一个私有的double类型的radius变量,以及一个默认构造方法和一个带有参数的构造方法,用于初始化圆的半径。此外,还定义了四个公共方法,分别用于获取和设置圆的半径、计算圆的周长和面积。
下面是测试程序的Java代码:
```java
public class TestCircle {
public static void main(String[] args) {
Circle c1 = new Circle();
System.out.println("The circle has radius of " + c1.getRadius() + " and area of " + c1.getArea() + " and perimeter of " + c1.getPerimeter());
Circle c2 = new Circle(2.0);
System.out.println("The circle has radius of " + c2.getRadius() + " and area of " + c2.getArea() + " and perimeter of " + c2.getPerimeter());
}
}
```
上述代码中,创建了两个Circle对象,一个使用默认构造方法创建,另一个使用带有参数的构造方法创建。然后调用Circle类的getRadius、getArea和getPerimeter方法来获取圆的半径、面积和周长,并输出到控制台中。
运行上述程序,将会输出以下结果:
```
The circle has radius of 1.0 and area of 3.141592653589793 and perimeter of 6.283185307179586
The circle has radius of 2.0 and area of 12.566370614359172 and perimeter of 12.566370614359172
```
可以看到,测试程序成功地创建了Circle对象,并计算出了它们的面积和周长。
阅读全文