1
21
根据 the documentation ,“返回一个带正号的双精度值,大于或等于0.0小于1.0。”这意味着它可以为零。 AS Hank wrote 它 是 在上边界上是独占的(永远不能是1),所以也许这就是你混淆的来源:—)。 |
2
38
是的,它
真的?
可以是。
种子好像是通过
如果您试图用
|
3
10
它很可能永远不会精确地归零。Java包含的PRNG是一个48位LCG,其中只有32位被使用过。所有53位A
由于方法文档明确地说明了如何获得随机数,因此对于Java运行时的其他实现也产生了不同的余地,从而产生不同的结果。这个 合同 可能会说你得到的数字来自[0,1]。但在实践中,有相当多的值是永远不会达到的(因为您需要一个生成器中的两个连续值,该生成器可以在连续值之间产生线性依赖关系“状态只有48位”。你不能从那个“至少不是怎么做的”中生成所有不同的53位组合。
当然,因为
|
4
9
它包含零,不包括一个,例如,
|
5
5
理论上,它可以返回值零。 实际上,你可能要等很长时间才能得到 确切地 零。如果随机数生成器实现良好,那么它至少有56位内部状态(否则返回结果的所有位都将不是随机的)。这意味着,如果随机产生的值的分布是平的,那么在2^56中你最多有一次机会得到一个值,所有的位都是零。大约是10-19。我屏住呼吸。 (其他人已经正确地观察到,在理论上(并且在实践中可能)它不能返回值1.0)。 |
6
2
从Java API。
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html#random() 所以可以。 |
7
1
math.random()是 documented 返回“带正号的双精度值,大于或等于0.0小于1.0” 也就是说,包括0.0,但不包括1.0 |
8
1
在兼容的JRE实现中,它也可能永远不会返回0。 |
9
1
从理论上讲,math.random()返回零值是可能的,但在现实世界中,您可以指望它实际上永远不会发生。 有一次我连续运行PC一周等待一个,它产生了大约10万亿个随机数,没有0。 但更直接地说,这两种方式实际上都是排他性的。 |
10
0
从 http://java.sun.com/javase/6/docs/api/java/lang/Math.html random()返回一个带正号的双精度值,大于或等于0.0小于1.0。 是的,可以是零,但不能是1。换句话说,比起你的CS教授,更喜欢Java文档。 |
ecology · 基于R中随机生成数集的子集列 2 年前 |
Alan Jones · 使用random从列表创建动态列表 2 年前 |
breking bed · 单击按钮时如何随机选择唯一编号 2 年前 |
Carrot Man · 如何让熊猫数据框随机填充1和0? 2 年前 |
Justin Arnold · 范围内的随机数不是随机数 2 年前 |
Menna Magdy · 如何使用非模型字段进行过滤? 2 年前 |