如何生成 java 中没有重复值的随机数数组
how generate a random number array that have no duplicate values in java
我想生成一个没有重复项的随机数数组。我的阵列有一个固定的愤怒。我会生成随机数(0-4),所以我想要这样的数组
(0,3,1,4,2) 或 (3,2,4,0,1) 就像那个范围内随机顺序的东西。我的代码没有错误。但是我没有得到我想要的输出。
import java.util.Random;
public class randNumArr {
public static void main(String[] args) {
int arr[] = {-1, -1, -1, -1, -1};
Random rd = new Random();
int i = 0;
int val;
while (i < 5) {
if (arr[i] == -1) {
val = rd.nextInt(4);
for (int d = 0; d < arr.length; d++) {
if (arr[i] == val) {
// break;
} else {
arr[i] = val;
break;
}
}
i++;
}
}
/*Printing the array*/
for (int n = 0; n < arr.length; n++) {
System.out.print(arr[n] + " ");
}
}
}
尝试将
行中的 i 替换为 d
if (arr[d]==val) {
这应该可以解决问题![=11=]
我想生成一个没有重复项的随机数数组。我的阵列有一个固定的愤怒。我会生成随机数(0-4),所以我想要这样的数组 (0,3,1,4,2) 或 (3,2,4,0,1) 就像那个范围内随机顺序的东西。我的代码没有错误。但是我没有得到我想要的输出。
import java.util.Random;
public class randNumArr {
public static void main(String[] args) {
int arr[] = {-1, -1, -1, -1, -1};
Random rd = new Random();
int i = 0;
int val;
while (i < 5) {
if (arr[i] == -1) {
val = rd.nextInt(4);
for (int d = 0; d < arr.length; d++) {
if (arr[i] == val) {
// break;
} else {
arr[i] = val;
break;
}
}
i++;
}
}
/*Printing the array*/
for (int n = 0; n < arr.length; n++) {
System.out.print(arr[n] + " ");
}
}
}
尝试将
行中的 i 替换为 dif (arr[d]==val) {
这应该可以解决问题![=11=]