创建10个圆对象,其半径和圆心坐标使用随机数随机生成,半径范围为1~20,圆心的纵横坐标取值范围为1~10 将上面生成的10个圆对象分别放入一个List和Set中 在List中判断是否包含半径为1,圆心坐标(3,4)的圆,并用for循环的方法将其中所有圆输出 在Set中用Iiterator方法将其元素输出。
时间: 2024-03-10 08:48:16 浏览: 49
Matlab在区域随机生成半径不同的圆
好的,下面是Java代码实现:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class Circle {
private int x;
private int y;
private int r;
public Circle(int x, int y, int r) {
this.x = x;
this.y = y;
this.r = r;
}
public String toString() {
return "Circle with center (" + x + ", " + y + ") and radius " + r;
}
public static void main(String[] args) {
Random rand = new Random();
List<Circle> circleList = new ArrayList<Circle>();
Set<Circle> circleSet = new HashSet<Circle>();
for (int i = 0; i < 10; i++) {
int x = rand.nextInt(10) + 1;
int y = rand.nextInt(10) + 1;
int r = rand.nextInt(20) + 1;
Circle circle = new Circle(x, y, r);
circleList.add(circle);
circleSet.add(circle);
}
// 在List中查找并输出符合条件的圆
boolean found = false;
for (Circle circle : circleList) {
if (circle.r == 1 && circle.x == 3 && circle.y == 4) {
found = true;
}
System.out.println(circle);
}
if (found) {
System.out.println("List contains circle with r=1 and center (3,4)");
} else {
System.out.println("List does not contain circle with r=1 and center (3,4)");
}
// 在Set中使用Iterator输出所有圆
Iterator<Circle> iterator = circleSet.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
```
首先,我们创建了一个Circle类,其中包含了圆的三个属性:x、y和r(半径),以及toString方法用于打印圆的信息。
然后,在main方法中,我们使用Java的内置随机数生成器(Random)来生成圆的属性值。我们将这些圆分别添加到一个List和一个Set中。
接着,在List中我们遍历所有圆并判断是否包含半径为1,圆心坐标为(3,4)的圆,并输出所有圆的信息。如果找到了符合条件的圆,我们将打印出一条包含特定圆的消息。否则,我们将打印出一条未找到特定圆的消息。
最后,在Set中,我们使用Iterator遍历所有圆,并输出它们的信息。
阅读全文