写一段java代码,要求创建 Circle 类,有常量 PI ,有数据成员半径,构造函数完成初始化半径。 (1)主函数中创建 Circle 对象数组,完善 Circle 类,支持按面积排序。 (2)完善 Circle 类,支持按面积判断两个圆对象是否相等。 (3)支持 indexof ()的方法,支持在圆对象数组中找到面积一样大的圆。
时间: 2023-03-27 08:00:43 浏览: 106
以下是我的回答:
1. Java 代码:
public class Circle {
private final double PI = 3.1415926;
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getArea() {
return PI * radius * radius;
}
public static void sortByArea(Circle[] circles) {
Arrays.sort(circles, Comparator.comparingDouble(Circle::getArea));
}
public boolean equalsByArea(Circle other) {
return Math.abs(getArea() - other.getArea()) < .0001;
}
public static int indexOfSameArea(Circle[] circles, Circle target) {
for (int i = ; i < circles.length; i++) {
if (circles[i].equalsByArea(target)) {
return i;
}
}
return -1;
}
}
2. 创建 Circle 对象数组并按面积排序:
Circle[] circles = new Circle[] {
new Circle(3),
new Circle(2),
new Circle(4),
new Circle(1)
};
Circle.sortByArea(circles);
3. 判断两个圆对象是否相等:
Circle c1 = new Circle(3);
Circle c2 = new Circle(3);
boolean isEqual = c1.equalsByArea(c2);
4. 在圆对象数组中找到面积一样大的圆:
Circle target = new Circle(4);
int index = Circle.indexOfSameArea(circles, target);
阅读全文