java生成不重复4位数字
时间: 2023-09-14 11:15:46 浏览: 121
以下是一种生成不重复4位数字的Java代码实现:
```java
import java.util.Random;
import java.util.HashSet;
public class UniqueNumberGenerator {
private static final int MAX_NUMBER = 9999;
private static final int MIN_NUMBER = 1000;
public static void main(String[] args) {
int[] numbers = generateUniqueNumbers(10);
for (int number : numbers) {
System.out.println(number);
}
}
public static int[] generateUniqueNumbers(int count) {
if (count > MAX_NUMBER - MIN_NUMBER + 1) {
throw new IllegalArgumentException("Count exceeds maximum possible unique numbers.");
}
Random random = new Random();
HashSet<Integer> uniqueNumbers = new HashSet<>();
while (uniqueNumbers.size() < count) {
int number = random.nextInt(MAX_NUMBER - MIN_NUMBER + 1) + MIN_NUMBER;
uniqueNumbers.add(number);
}
int[] result = new int[count];
int index = 0;
for (int number : uniqueNumbers) {
result[index++] = number;
}
return result;
}
}
```
上面的代码使用了 HashSet 来保证生成的数字不重复,同时使用了 Random 类来生成随机数。在 `generateUniqueNumbers` 方法中,首先检查传入的 count 参数是否超过了可能的最大唯一数字数量,然后使用 while 循环来不断生成随机数字,直到 HashSet 中存储的数字数量达到 count。最后将 HashSet 中的数字转换为 int 数组并返回。
阅读全文