包含random.nextint的词条

http://www.itjxue.com  2023-01-22 07:27  来源:未知  点击次数: 

如何使用random.nextint

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

random的nextInt(int n)方法可以生成一个介于0(包含)到n(不包含)之间的整数

nextInt(101)生成的就是0~100之间的随机数,包含0和100

Random中的nextInt和nextInt的区别是什么

Random.nextint() 和Math.random()的区别

Java代码 收藏代码

Random rand = new Random();

long startTime = System.nanoTime() ;

int i1 = rand.nextInt();

System.out.println(i1);

long endTime = System.nanoTime();

System.out.println("Random.nextInt(): " + (endTime - startTime));

long startTime2 = System.nanoTime();

int i2 = (int) (java.lang.Math.random() * );

System.out.println(i2);

long endTime2 = System.nanoTime();

System.out.println("Math.random():" + (endTime2 - startTime2));

前者生成的随机数效率高于后者,时间上前者大约是后者50%到80%的时间.

造成这个原因如下:

Math.random()是Random.nextDouble()的一个内部方法.

Random.nextDouble()使用Random.next()两次,均匀的分布范围为0到1 - (2 ^ -53).

Random.nextInt(n)的使用Random.next()不多于两次, 返回值范围为0到n - 1的分布

Math.round和Random.nextint

Math.round是四舍五入函数。

Math.random是返回一个伪随机数(0到1之间的double型数)

Random.nextInt可以自定义随机数范围,如Random.nextInt(100)可以返回0到100之间的整数

参考资料

Random.nextInt()生成负数???为什么

如果调用.nextInt(),-MaxValue到MaxValue,.nextInt(n)才是0到n.

下面是JAVA API的原段

nextInt()

Returns the next pseudorandom, uniformly distributed int value from this random number generator's sequence.

请教各位用random类中的nextInt方法如怎么产生随机数

不包括MAX

建议你下载一本JAVA API文档

Random nextInt

public int nextInt(int n)返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。

源码如下:

public int nextInt(int n) {

if (n=0)

throw new IllegalArgumentException("n must be positive");

if ((n -n) == n) // i.e., n is a power of 2

return (int)((n * (long)next(31)) 31);

int bits, val;

do {

(责任编辑:IT教学网)

更多

推荐Flash动画制作教程文章