java随机数生成器及其分布

时间:2016-10-06 16:25:05

标签: java random

我依赖于Java的Random类,特别是在nextInt方法上生成N个随机数。我不知道N会提前做什么,它会在飞行中决定。

我的待办事项列表的一个要求是让随机数代表分布。

例如,如果N = 100,则在1-100的范围内,应该有10(大约)个数字在1-10之间,20个数字在1-20之间等。

但N可能会在100到100,000之间实时增长,因此生成的randoms的分布应该在飞行中进行调整,以表示1-100之间产生的100,000个数字

我不确定这是否可行,希望它能够实现我想要实现的目标。

1 个答案:

答案 0 :(得分:2)

您似乎在描述统一分布。

查看Javadoc of Random.nextInt(int)

  

返回伪随机,均匀分布的int值介于0(包括)和指定值(不包括)

之间

因此,只需使用Random.nextInt,将N作为参数传递,然后在结果中加1,即可获得1 to N而不是0 to (N-1)