Java程序实现数组中元素打乱的函数,运行后元素有重复,不知道哪里除了问题,求解答
打乱函数Disruption(int [] arr)代码如下:
public static int [] Disruption(int [] arr){
//打乱数组内的元素
Random r = new Random();
for (int i = 0; i < arr.length; i++) {
int temp;
temp = arr[r.nextInt(arr.length)];
arr[r.nextInt(arr.length)] = arr [i];
arr [i] =temp;
}
return arr;
}
定义一个main函数调用并输出:
public static void main(String[] args) {
int [] moneys = {9,666,188,520,99999};
int [] moneys2 =Disruption(moneys);
printArray(moneys2);//自写的将数组内容输出的函数
}
最后的输出结果:
其中元素188重复。
我的打乱思路为,遍历整个数组,每到一个元素时,随机与另外一个位置上的元素交换数值
函数出现问题,望指教