import java.util.Arrays;
import java.util.Random;
/**
* 其实思路很简单,就是从seed数组中取出还未选中的种子
*/
public class RandomTest {
public static void main(String[] args) {
// 声明一个种子
int seed[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// 存放生成后的数字
int[] destArray = new int[seed.length];
// 声明一个Random实例
Random random = new Random();
// 循环种子
for (int i = 0; i < seed.length; i++) {
// 随机得到种子中的一个位置
int j = random.nextInt(seed.length - i);
// 把该位置上的种子输出
destArray[i] = seed[j];
// 把种子中末尾的种子替换得到的种子
seed[j] = seed[seed.length - 1 - i];
}
System.out.println(Arrays.toString(destArray));
}
}
原文地址: http://www.blogjava.net/wangxinsh55/archive/2011/09/14/358621.html
本文介绍了一种使用Java实现的随机数生成方法。通过从预定义的种子数组中随机选取元素并将其输出,同时更新种子数组避免重复选取。这种方法适用于需要生成不可预测随机序列的场合。
1059

被折叠的 条评论
为什么被折叠?



