JAVA生成随机数

生成特定区间随机数

使用Random类

Random 对象的 nextInt(int) 方法,将生成 0 ~ 参数之间随机取值的整数。

import java.util.Random;
Random rand = new Random();
rand.nextInt(100);
上述代码会产生[0,100)内的随机整数,那么要生成[1,100]内的随机整数怎么办呢?

很简单,rand.nextInt(100)+1;
同样的道理,rand.nextInt(90) + 10;是生成两位随机整数。
于是我们得到公式
int randNumber = rand.nextInt(MAX - MIN + 1) + MIN;
将生成[MIN, MAX]范围内的随机整数。

其他随机数

一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。

二.在java.util这个包里面提供了一个Random的类,我们可以新建一个Random的对象来产生随机数,他可以产生随机整数、随机float、随机double,随机long,这个也是我们在j2me的程序里经常用的一个取随机数的方法。

三.在我们的System类中有一个currentTimeMillis()方法,这个方法返回一个从1970年1月1号0点0分0秒到目前的一个毫秒数,返回类型是long,我们可以拿他作为一个随机数,我们可以拿他对一些数取模,就可以把他限制在一个范围之内啦

其实在Random的默认构造方法里也是使用上面第三种方法进行随机数的产生的

你可能感兴趣的:(JAVA生成随机数)