读书人

java 不反复随机数生成

发布时间: 2012-10-25 10:58:58 作者: rapoo

java 不重复随机数生成

public static void main(String[] args) {
? // 种子你可以随意生成,但不能重复
? int m = 20;
? int n = 100;
? int[] seed = new int[n];
? for(int i=0; i<n; i++) {
?? seed[i] = i;
? }
? int[] ranArr = new int[m];
? Random ran = new Random();

? // 数量你可以自己定义。
? for (int i = 0; i <m; i++) {
??
?? int myseed = n - i;

?? // 得到一个位置
?? int j = ran.nextInt(myseed);
?
?? // 得到那个位置的数值
?? ranArr[i] = seed[j];
?
?? // 将最后一个未用的数字放到这里
?? seed[j] = seed[n - 1 - i];
? }
? System.out.println("ranArr:" + Arrays.toString(ranArr));
?}

读书人网 >编程

热点推荐