设计并测试一个表示圆的Circle类,自己分析它的属性和方法,例如圆半径,编写对应的getXxx、setXxx方法,成员方法计算圆的面积,显示圆信息的方法,编写合适的构造方法,创建两个圆类的对象,并调用相应方法。
时间: 2024-12-15 19:30:01 浏览: 19
设计一个Circle类,首先需要考虑的是基本属性,如半径(radius),这是描述圆的重要特征。我们可以添加以下属性和对应的方法:
```java
public class Circle {
private double radius; // 圆的半径
// 构造方法
public Circle(double radius) {
this.radius = radius;
}
// 获取半径
public double getRadius() {
return radius;
}
// 设置半径
public void setRadius(double radius) {
if (radius >= 0) { // 确保半径非负
this.radius = radius;
} else {
throw new IllegalArgumentException("Radius cannot be negative");
}
}
// 计算圆的面积
public double getArea() {
return Math.PI * radius * radius;
}
// 显示圆的信息,包括半径和面积
@Override
public String toString() {
return "Circle [radius=" + radius + ", area=" + getArea() + "]";
}
}
```
现在我们已经定义了一个Circle类,接下来可以创建两个Circle对象并进行测试:
```java
public static void main(String[] args) {
// 创建第一个圆
Circle circle1 = new Circle(5);
System.out.println(circle1); // 输出圆1的信息
// 调用设置半径方法
circle1.setRadius(7);
System.out.println(circle1);
// 创建第二个圆
Circle circle2 = new Circle(3.14);
// 测试面积计算
double area1 = circle1.getArea();
double area2 = circle2.getArea();
System.out.printf("Area of circle1: %.2f, Area of circle2: %.2f\n", area1, area2);
// 测试相等判断
boolean areEqual = circle1.equals(circle2);
System.out.println("Are the circles equal? " + areEqual);
}
```
阅读全文