简单的java rand()语法

时间:2013-11-26 18:37:08

标签: java random

我今天得到了一个非常简单的问题。

Random r = new Random();
r.nextInt(50)

此代码是否会返回0到49或0到50之间的数字(包括 50)

这个怎么样?

Random r = new Random();
10 + r.nextInt(50)

从10到60(包括 60)?

3 个答案:

答案 0 :(得分:3)

直接在the docs for nextInt(int n)(强调添加)中回答:

  

返回伪随机,均匀分布的int值介于0(含)和指定值(独占

之间

参数严格大于将返回的最大整数。

r.nextInt(50)

可能会返回0并可能返回49,但不会返回50.同样,

10 + r.nextInt(50)

可能是59,但永远不会是60。

答案 1 :(得分:3)

  
    

nextInt(int n) - 返回从该随机数生成器序列中提取的伪随机,均匀分布的int值,介于0(包括)和指定值(不包括)之间。

  

http://docs.oracle.com/javase/6/docs/api/java/util/Random.html

答案 2 :(得分:0)

根据the documentation,它是0..n独占的。

  
    

下一个伪随机数,从该随机数生成器的序列中均匀分布的0值(包括)和n(不包括)之间的值

  

因此,如果您想要10..60,请使用以下代码:

10+r.nextInt(51);