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

How to scale pseudo random numbers to a specific range?

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

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

另外,我需要一个种子值,这样我就可以在 确定性数字,

但我一直不明白这颗种子应该有什么价值 以及它如何影响顺序。

高低有区别吗?

提前致谢。

通常在尝试获取随机值时,您会使用这样的东西:

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

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

中的内置函数之一
import java.util.Random;

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

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

nextGaussian()的不同之处在于它returns浮点数分布在钟形曲线上。