java生成不重复4位数字
时间: 2023-09-14 19:15:46 浏览: 49
可以使用Java中的Random类生成随机数,然后判断生成的数字是否重复,如果重复则重新生成。以下是一个生成不重复4位数字的示例代码:
```java
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class GenerateUniqueNumber {
public static void main(String[] args) {
Set<Integer> set = new HashSet<>();
Random rand = new Random();
while (set.size() < 4) {
int num = rand.nextInt(9000) + 1000; // 生成[1000, 9999]之间的随机数
set.add(num);
}
for (int num : set) {
System.out.println(num);
}
}
}
```
该代码中使用了一个Set集合来保存生成的数字,如果生成的数字与集合中已有的数字重复,则不加入集合,继续生成下一个数字。当集合中元素个数达到4时,即可得到4个不重复的4位数字。
相关问题
java 生成8位不重复的数字编号
可以使用Java的随机数生成器和集合来生成8位不重复的数字编号。
首先,创建一个空的集合用于存储生成的数字编号。
然后,使用一个循环,生成一个8位的随机数,直到集合的大小达到8为止。
在每次生成随机数时,使用集合的contains方法判断该随机数是否已经存在于集合中,如果不存在,则将其添加到集合中,否则重新生成随机数。
最后,将集合中的数字编号转换为字符串,并进行输出。
以下是示例代码:
```java
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class RandomNumberGenerator {
public static void main(String[] args) {
Set<Integer> numbers = new HashSet<>();
Random random = new Random();
while (numbers.size() < 8) {
int randomNumber = random.nextInt(100000000);
numbers.add(randomNumber);
}
StringBuilder sb = new StringBuilder();
for (int number : numbers) {
sb.append(String.format("%08d", number));
}
System.out.println(sb.toString());
}
}
```
该代码会生成一个8位的数字编号,编号的每一位都是0-9之间的随机数。
Java怎么生成位不重复的数字
Java中可以使用Random类生成随机数,同时可以使用Set集合来保证生成的随机数不重复。具体代码如下:
```
import java.util.Random;
import java.util.Set;
import java.util.HashSet;
public class RandomNumberGenerator {
public static void main(String[] args) {
Set<Integer> set = new HashSet<>();
Random random = new Random();
while (set.size() < 10) {
int num = random.nextInt(1000); // 生成0~999的随机数
if (!set.contains(num)) {
set.add(num);
}
}
for (Integer num : set) {
System.out.println(num);
}
}
}
```
在上述代码中,我们先创建了一个空的HashSet集合和一个Random对象。然后使用while循环,当集合中的元素个数小于10时,就生成一个0~999的随机数,并判断该随机数是否已经存在于集合中。如果不存在,就将该随机数添加到集合中。这样不断生成随机数,直到集合中元素个数达到10为止。
最后,我们遍历集合中的元素,输出生成的10个不重复的随机数。这种方法可以保证生成的随机数不重复,并且可以根据需要调整生成随机数的个数和范围。