快速业务通道

Java产生随机数的两种方式 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

Java产生随机数的两种方式

时间:2011-02-17

在java中,我们可以通过两种方式来获取随机数(generating a random number)一种是大家熟悉的java.lang.Math.Random()静态方法,另一种是创建java.util.Random对象。下面是两种方法的使用过程:

一.java.lang.Math.random()

在使用这一静态方法的时候,我们不需要import任何包,因为java.lang.*包是默认载入的,下面举例说面使用方法:

public class RandomTest{   public static void main(String[] args){     int i=Math.random();//random()会自动产生一个0.0-1.0的双精度随机数     System.out.println(i);//输出     i=Math.random()*1000;//产生0-1000的双精度随机数      System.out.println(i);     int b=(int)(Math.random()*1000);//产生0-1000的整数随机数      System.out.println(b);   } }

二.创建java.util.Random对象

import java.util.random public class RandomTest{   public static void main(String[] args){     Random random=new Random();//创建random对象     int intNumber=random.nextInt();//获取一个整型数     float floatNumber=random.nextFloat();//获取一个浮点数(0-1)     double doubleNumber=random.nextDouble();//获取双精度数(0-1)     boolean booleanNumber=random.nextBoolean();//获取boolean数     System.out.println("intNumber:"+intNumber);     System.out.println("floatNumber:"+floatNumber);     System.out.println("doubleNumber:"+doubleNumber);     System.out.println("booleanNumber:"+booleanNumber);   } }

random在产生随机数的时候使用当前的时间作为基数,我们可以同过System.currentTimeMillis()来获取这个基数。当然我们也可以指定基数:

Random random=new Random(100);

同一基数所产生的随机数序列是一样的,可以用下面这一段程序进行印证:

import java.util.random public class RandomTest{   public static void main(String[] args){     Random random1=new Random(100);     Random random2=new Random(100);     for(int i=0;i<5;i++){       System.out.print(random1.nextInt()+"\t");       System.out.println(random2.nextInt()+"\t");       System.out.println("---------------------------------");     }   } }

我们可以发现random1和random2所产生的随机数是相同的。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号