如何将伪随机数缩放到特定范围?

时间:2016-05-31 17:35:47

标签: java random random-seed

如何将随机数缩放为1-10 没有失去随机性?

我知道,只使用%10不是一个好主意。

另外,我需要一个种子值,所以我可以测试一下 确定性数字,

但我还没有明白这个种子应该有什么价值 以及它如何影响序列。

如果它是高还是低有差异吗?

提前感谢。

2 个答案:

答案 0 :(得分:3)

import java.util.Random;

Random random = new Random( yourSeed );
int randomInt = random.nextInt(10) + 1 ;

seed没有其他目的,只能给PRNG一个起点。它纯粹是任意的,不会影响随机数的分布。

nextGaussian()的不同之处在于它返回围绕钟形曲线分布的浮点数。

答案 1 :(得分:0)

通常在尝试获取随机值时,您会使用以下内容:

public int getRandom( int min, int max )
{
    return (int) Math.round( Math.random() % (max - min) + min );
}

或者,正如我刚刚从Stavr00的回答中记得的那样,使用java.util.Random

中的一个内置函数