Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。它可以产生int、long、float、double以及Goussian等类型的随机数。这也是它与java.lang.Math中的方法Random()最大的不同之处,后者只产生double型的随机数。 类Random中的方法十分简单,它只有两个构造方法和六个普通方法。
构造方法:
(1)public Random()
(2)public Random(long seed)
Java产生随机数需要有一个基值seed,在第一种方法中基值缺省,则将系统时间作为seed。
普通方法:
(1)public synonronized void setSeed(long seed) 该方法是设定基值seed。
(2)public int nextInt() 该方法是产生一个整型随机数。
(3)public long nextLong() 该方法是产生一个long型随机数。
(4)public float nextFloat() 该方法是产生一个Float型随机数。
(5)public double nextDouble() 该方法是产生一个Double型随机数。
(6)public synchronized double nextGoussian() 该方法是产生一个double型的Goussian随机数。
例2 RandomApp.java。
//import java.lang.*;
import java.util.Random;
public class RandomApp{
public static void main(String args[]){
Random ran1=new Random();
Random ran2=new Random(12345);
//创建了两个类Random的对象。
System.out.println("The 1st set of randomnumbers:");
System.out.println("\tInteger:"+ran1.nextInt());
System.out.println("\tLong:"+ran1.nextLong());
System.out.println("\tFloat:"+ran1.nextFloat());
System.out.println("\tDouble:"+ran1.nextDouble());
System.out.println("\tGaussian:"+ran1.nextGaussian()); //产生各种类型的随机数 System.out.print("The 2nd set of random numbers:");
for(int i=0;i<5;i++){
System.out.println(ran2.nextInt()+" ");
if(i==2) System.out.println(); //产生同种类型的不同的随机数。 System.out.println();
}
}
}
需要更具体准确的了解Random的属性以及使用请参考:
http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/Random.html