java实现产生10个0~20的随机数,要求随机数不能重复
时间: 2023-08-23 09:56:41 浏览: 193
你可以使用`java.util.Random`类和`java.util.HashSet`类来实现产生不重复的随机数。以下是一个示例代码:
```java
import java.util.HashSet;
import java.util.Random;
public class RandomNumberGenerator {
public static void main(String[] args) {
Random random = new Random();
HashSet<Integer> set = new HashSet<>();
while (set.size() < 10) {
int number = random.nextInt(21); // 生成0~20的随机数
set.add(number);
}
for (int num : set) {
System.out.println(num);
}
}
}
```
这段代码使用`Random`类生成随机数,并通过`HashSet`类来确保生成的随机数不重复。在`while`循环中,随机生成一个数并尝试将其添加到`HashSet`中,由于`HashSet`不允许重复元素,所以如果成功添加则表示生成的数不重复。当`HashSet`的大小达到10时,即可停止循环。最后,使用`for-each`循环打印出生成的随机数。
相关问题
用java编写一个程序,输出10个1~20的随机数,要求随机数不能重复,用HashSet集合实现
好的,以下是您需要的Java代码:
```java
import java.util.HashSet;
import java.util.Random;
public class RandomNumbers {
public static void main(String[] args) {
Random random = new Random();
HashSet<Integer> set = new HashSet<>();
while (set.size() < 10) {
set.add(random.nextInt(20) + 1);
}
for (Integer num : set) {
System.out.println(num);
}
}
}
```
这个程序使用了 `java.util.Random` 类来生成随机数,并且使用了 `java.util.HashSet` 类来保证随机数不会重复。具体来说,程序循环调用 `random.nextInt(20) + 1` 方法来生成一个 `1~20` 之间的随机数,然后将其添加到 `HashSet` 集合中。由于 `HashSet` 集合不允许重复元素,因此当集合中的元素数量达到 `10` 时,程序停止生成随机数。最后,程序遍历 `HashSet` 集合并输出其中的每一个随机数。
用java编写一个程序,输出10个1~20的随机数,要求随机数不能重复,用ArrayList集合实现
好的,以下是您需要的Java代码:
```java
import java.util.ArrayList;
import java.util.Random;
public class RandomNumbers {
public static void main(String[] args) {
Random random = new Random();
ArrayList<Integer> list = new ArrayList<>();
while (list.size() < 10) {
int num = random.nextInt(20) + 1;
if (!list.contains(num)) {
list.add(num);
}
}
for (Integer num : list) {
System.out.println(num);
}
}
}
```
这个程序使用了 `java.util.Random` 类来生成随机数,并且使用了 `java.util.ArrayList` 类来保证随机数不会重复。具体来说,程序循环调用 `random.nextInt(20) + 1` 方法来生成一个 `1~20` 之间的随机数,然后判断该随机数是否已经存在于 `ArrayList` 集合中。如果不存在,则将其添加到集合中。由于 `ArrayList` 集合可以存储重复元素,因此当集合中的元素数量达到 `10` 时,程序可能会停止生成随机数,因为有些随机数已经存在于集合中了。最后,程序遍历 `ArrayList` 集合并输出其中的每一个随机数。
阅读全文