一个能随机生成Circle类和Triangle类对象的静态方法 GeometricObject[] RandomCreateGeometricObject() ■ 以随机生成的数组为参数,输出数组中每个对象的基本信息、周长和面积。 ■ 类中其它方法的测试
时间: 2024-03-15 22:44:42 浏览: 54
可以按照以下方式实现上述功能:
```java
import java.util.Arrays;
public class GeometricObject {
// 省略其他代码
public static GeometricObject[] RandomCreateGeometricObject(int n) {
GeometricObject[] objs = new GeometricObject[n];
Random random = new Random();
for (int i = 0; i < n; i++) {
int type = random.nextInt(2);
if (type == 0) {
objs[i] = new Circle(random.nextDouble() * 10);
} else {
double a = random.nextDouble() * 10;
double b = random.nextDouble() * 10;
double c = random.nextDouble() * 10;
objs[i] = new Triangle(a, b, c);
}
}
return objs;
}
public static void printGeometricObjects(GeometricObject[] objs) {
for (int i = 0; i < objs.length; i++) {
System.out.println("Object #" + (i + 1) + ":");
System.out.println(objs[i].toString());
System.out.println("Perimeter: " + objs[i].getPerimeter());
System.out.println("Area: " + objs[i].getArea());
System.out.println();
}
}
public static void main(String[] args) {
GeometricObject[] objs = RandomCreateGeometricObject(5);
System.out.println("Generated objects:");
System.out.println(Arrays.toString(objs));
System.out.println();
System.out.println("Object details:");
printGeometricObjects(objs);
}
}
```
上述代码中,我们新增了一个名为 `printGeometricObjects` 的静态方法,用于输出随机生成的对象的基本信息、周长和面积。然后在 `main` 方法中,首先调用 `RandomCreateGeometricObject` 方法生成一个随机数组,并输出该数组;然后调用 `printGeometricObjects` 方法输出每个对象的详细信息。可以根据需要修改数组长度、生成随机数的范围等参数。
阅读全文