1

如何生成范围内的随机浮点数,因为这是在 Python 中使用uniform()方法制作的?例子在这里

4

2 回答 2

3

Python:r = uniform(x,y) 返回 x <= r < y

所以,在java中,使用:

 r = x + (y-x) *  Math.random();
于 2013-04-28T17:01:00.723 回答
1

JavaRandom类有一个nextFloat()方法:

公共浮动 nextFloat()

从该随机数生成器的序列中返回下一个伪随机、均匀分布的浮点值,介于 0.0 和 1.0 之间。

因此,只需仿射缩放:

public float uniform(float lower, float upper, Random randomSrc) {
    return lower + (upper - lower) * randomSrc.nextFloat();
}

也有double版本。

于 2013-04-28T17:03:21.670 回答