产生一个int数组,长度为100,向数组中顺序写入1-100之间的随机数,并且不能重复
时间: 2024-10-14 16:13:50 浏览: 44
为了生成一个长度为100的 int 数组,其中包含1到100之间且互不相同的随机整数,你可以按照以下步骤操作:
1. 创建一个空的ArrayList来存储随机数,因为 ArrayList 允许动态添加元素且支持快速插入。
2. 使用 `Random` 类生成随机数,并检查它是否已经存在于列表中。如果不在,就添加到列表中。
3. 当列表大小达到100时,转换成固定大小的 int 数组。
下面是一个 Java 示例实现这个过程:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
public class UniqueRandomArray {
public static void main(String[] args) {
int[] result = generateUniqueRandomArray(100);
System.out.println(Arrays.toString(result));
}
public static int[] generateUniqueRandomArray(int size) {
Random random = new Random();
ArrayList<Integer> list = new ArrayList<>();
while (list.size() < size) {
int num = random.nextInt(100) + 1; // 生成1到100的随机数
if (!list.contains(num)) {
list.add(num);
}
}
// 将ArrayList转换为int数组
int[] array = new int[size];
for (int i = 0; i < size; i++) {
array[i] = list.get(i);
}
return array;
}
}
```
运行此程序,你会得到一个长度为100且元素从1到100无重复的数组。
阅读全文