Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。它可以产生int、long、float、double以及Goussian等类型的随机数。这也是它与java.lang.Math中的方法Random()最大的不同之处,后者只产生double型的随机数。 类Random中的方法十分简单,它只有两个构造方法和六个普通方法。下面用一段代码来说明下。import java.util.*; import java.lang.*; public class Ran{ public static void main(String[] args){ Random ran = new Random();
int i = ran.nextInt();//随机返回了一个整型
int n = 10; i = ran.nextInt(n+1);//在0-n之间取随机数
int p =(int)(1+Math.random()*10);//取1-10之间的整数
boolean a = ran.nextBoolean(); double b = ran.nextDouble(); long c = ran.nextLong(); float d = ran.nextFloat(); System.out.println(ran.nextInt());//产生任意大小的随机整数 System.out.println(ran.nextBoolean());// System.out.println(ran.nextDouble());// System.out.println(ran.nextFloat());// System.out.println(ran.nextLong());// System.out.println(ran.nextInt(100));//产生0至100的随机整数 } } 其中nextInt(int n)表示在0(包括)和指定值(不包括)之间取int值。 结果: -1116918815 false 0.3570466757532643 0.69238234 7423008150361503085 88
An instance of this class is used to generate a stream of pseudorandom numbers. The class uses a 48-bit seed, which is modified using a linear congruential formula. 此类的实例被用来生成一个伪随机数流 使用了48位的种子 使用一线性同余方程修改该种子
很多应用程序会发现 Math 类中的 random 方法更易于使用。更多详情请参考api
http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/Random.html
import java.lang.*;
public class Ran{
public static void main(String[] args){
Random ran = new Random();
int i = ran.nextInt();//随机返回了一个整型
int n = 10;
i = ran.nextInt(n+1);//在0-n之间取随机数
int p =(int)(1+Math.random()*10);//取1-10之间的整数
boolean a = ran.nextBoolean();
double b = ran.nextDouble();
long c = ran.nextLong();
float d = ran.nextFloat();
System.out.println(ran.nextInt());//产生任意大小的随机整数
System.out.println(ran.nextBoolean());//
System.out.println(ran.nextDouble());//
System.out.println(ran.nextFloat());//
System.out.println(ran.nextLong());//
System.out.println(ran.nextInt(100));//产生0至100的随机整数
}
}
其中nextInt(int n)表示在0(包括)和指定值(不包括)之间取int值。
结果:
-1116918815
false
0.3570466757532643
0.69238234
7423008150361503085
88
此类的实例被用来生成一个伪随机数流 使用了48位的种子 使用一线性同余方程修改该种子