使用种子的Java随机数

这是我的代码,使用种子作为参数来生成随机数:

double randomGenerator(long seed) {

Random generator = new Random(seed);

double num = generator.nextDouble() * (0.5);

return num;

}

每次我提供种子并尝试生成100个数字时,它们都是相同的。

我怎样才能解决这个问题?

回答:

如果你给相同的种子,那是正常的。这是允许测试的重要功能。

选中此选项可了解伪随机生成和种子:

伪随机数发生器

伪随机数生成器(PRNG),也称为确定性随机位生成器DRBG,是一种用于生成近似于随机数属性的数字序列的算法。该序列不是真正随机的,因为它完全由相对较小的一组初始值(称为PRNG状态)确定,该初始值包括一个真正的随机种子。

如果要使用不同的序列(通常在不调整或调试算法时使用),则应调用零参数构造函数,该构造函数使用nanoTime尝试每次获取不同的种子。Random当然,该实例应保留在你的方法之外。

你的代码可能应该像这样:

private Random generator = new Random();

double randomGenerator() {

return generator.nextDouble()*0.5;

}

以上是 使用种子的Java随机数 的全部内容, 来源链接: utcz.com/qa/418289.html

回到顶部