生成20个不重复的随机数的疑问
生成20个不重复的随机数
这是一次java实验上的题目,有一部分的要求就是要生成20个不重复的随机数
我写的代码是这样的
public static void assignment(int[] arr) {
int number;
arr[0] = (int) (Math.random() * 20 + 1);
for (int i = 1; i < arr.length; i++) { //给数组赋值
number = (int) (Math.random() * 20 + 1);
for (int j = 0; j < i; j++) { //与前面的元素比较看看重不重复
if (number == arr[j]) {
i--;
break; //注意这里
} else
arr[i] = number;
}
}
}
我加个break它就可以生成20个不重复的随机数,不加他就会重复,我就奇了个怪了,怎么回事
这是加了break的结果

这是不加break的结果

为啥捏,我也很奇怪

浙公网安备 33010602011771号