首页 > 代码库 > Random

Random

java产生随机数的几种方式

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

java.util.Random类有两种方式构建方式:带种子和不带种子 

1.不带种子

 1 int ran=(int)(Math.random()); 

  *其中Math.random()必须用括号括起来,否则会返回0,因为先执行int的强制转换 1 int ran=(int)Math.random();//错误示范  

2.带种子

int ran=(int)(Math.random()*10);//0~10之间的数
int ran=(int)(Math.random()*10+5);//产生5~10之间

 


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

Random ran=new Random(10);
//nextInt()返回下一个随机数
ran.nextInt();

其中的10并不会影响产生的随机数范围,

ran.nextInt(10);//产生0~10的随机数

错误示范:产生5到10之间的随机数

ran.nextInt(10)+5;

正确示范:产生10到50之间的随机数

 1 int ran=new Random().nextInt(50)+10; 


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

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

Random