java实现
import java.util.Arrays; import java.util.Random; //目的:生成10个 不重复的0~30的整数 public class Demo { public static void main(String[] args){ int[] num = new int[31]; int len = num.length; for(int i=0;i<len;i++){ num[i]=i; } int[] num2 = new int[10]; Random r = new Random(); for(int i=0;i<num2.length;i++){ int index = r.nextInt(num.length-i); //生成一个随机的索引,第二次循环-1,目的,不需要取到最后的一个索引,最后的索引对应的值已经取到了 num2[i] = num[index]; num[index] = num[index]^num[num.length-1-i]; //将该索引对应的值,放到num数组的最后,代表这个值已经取过了, num[num.length-1-i] = num[index]^num[num.length-1-i]; num[index] = num[index]^num[num.length-1-i]; } System.out.println(Arrays.toString(num2)); } }