Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。它可以产生int、long、float、double以及Goussian等类型的随机数。这也是它与java.lang.Math中的方法Random()最大的不同之处,后者只产生double型的随机数。
类Random中的方法十分简单,它只有两个构造方法和六个普通方法。
构造方法:
(1)publicRandom()
(2)publicRandom(longseed)
Java产生随机数需要有一个基值seed,在第一种方法中基值缺省,则将系统时间作为seed。
普通方法:
(1)publicsynonronizedvoidsetSeed(longseed)
该方法是设定基值seed。
(2)publicintnextInt()
该方法是产生一个整型随机数。
(3)publiclongnextLong()
该方法是产生一个long型随机数。
(4)publicfloatnextFloat()
该方法是产生一个Float型随机数。
(5)publicdoublenextDouble()
该方法是产生一个Double型随机数。
(6)publicsynchronizeddoublenextGoussian()
该方法是产生一个double型的Goussian随机数。
例2RandomApp.java。
//importjava.lang.*;
importjava.util.Random;
publicclassRandomApp{
publicstaticvoidmain(Stringargs[]){
Randomran1=newRandom();
Randomran2=newRandom(12345);
//创建了两个类Random的对象。
System.out.println("The1stsetofrandomnumbers:");
System.out.println(" Integer:"+ran1.nextInt());
System.out.println(" Long:"+ran1.nextLong());
System.out.println(" Float:"+ran1.nextFloat());
System.out.println(" Double:"+ran1.nextDouble());
System.out.println(" Gaussian:"+ran1.nextGaussian());
//产生各种类型的随机数
System.out.print("The2ndsetofrandomnumbers:");
for(inti=0;i<5;i++){
System.out.println(ran2.nextInt()+"");
if(i==2)System.out.println();
//产生同种类型的不同的随机数。
System.out.println();
}
}
}