分析
定义数组,然后进行随机打乱顺序,并不是随机生成数组中的数据,所以可以运用循环:
在数组中随机选取一个数,与当前数据进行交换,当全部项都随机交换后,才能保证每个项在当前位置概率为1/n
代码
import java.util.*;
public class Test
{
public static void main(String[] args){
int[] nums={1,2,3,4,5,6,7,8,9,10};
for(int i=0;i<nums.length;i++){
int k=(int)(Math.random()*nums.length);//随机选取下标,以用于和当前nums[i]进行交换
int temp=nums[k];
nums[k]=nums[i];
nums[i]=temp;
}
System.out.println(Arrays.toString(nums));
}
}