本文介绍了java常用类之Random类的用法,下文是实战案例,没有做额外的文字说明,需要解释的我都写在代码注释里了。

import java.util.Random;public class random1 {
public static void main(String[] args){
//两种构造函数
Random r1=new Random();
//Random r2=new Random(120); 使用单个 long 种子创建一个新的随机数生成器。
//System.out.println(r1.next(2));返回值为保护类型
//System.out.println(r2.next(2));
System.out.println(r1.nextBoolean());//返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。
System.out.println(r1.nextBoolean());
System.out.println("+++++++++++");
byte[] by1=new byte[5];
byte[] by2=new byte[5];
r1.nextBytes(by1);//生成随机字节并将其置于用户提供的 byte 数组中。
r1.nextBytes(by2);
for(int i=0;i
System.out.print(by1[i]+" ");
}
System.out.println();
for(int j=0;j
System.out.print(by2[j]+" ");
}
System.out.println();
System.out.println("+++++++++++");
//返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。
System.out.println(r1.nextDouble());
System.out.println(r1.nextDouble());
System.out.println("+++++++++++");
//返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。
System.out.println(r1.nextFloat());
System.out.println(r1.nextFloat());
System.out.println("+++++++++++");
//返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0。
System.out.println(r1.nextGaussian());
System.out.println(r1.nextGaussian());
System.out.println("+++++++++++");
//返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
System.out.println(r1.nextInt());
System.out.println(r1.nextInt());
System.out.println("+++++++++++");
//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
System.out.println(r1.nextInt(100));
System.out.println(r1.nextInt(50));
System.out.println("+++++++++++");
//返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值
System.out.println(r1.nextLong());
System.out.println(r1.nextLong());
//r1.setSeed(10);使用单个 long 种子设置此随机数生成器的种子。
}
}
运行结果:Compiling random1.java.......
-----------OUTPUT-----------
falsefalse
+++++++++++-55 -112 41 -78 93
54 127 -93 -22 120
+++++++++++0.69656134440266490.06445584272260563
+++++++++++0.285779950.8657566
+++++++++++-0.15436582029316171.4500847476555192
+++++++++++1824132073-436413982
+++++++++++2921
+++++++++++3295074968265391496
1387264859162260419[Finished in 1.2s]import java.util.Random;public class random1 {
public static void main(String[] args){
//两种构造函数
Random r1=new Random();
//Random r2=new Random(120); 使用单个 long 种子创建一个新的随机数生成器。
//System.out.println(r1.next(2));返回值为保护类型
//System.out.println(r2.next(2));
System.out.println(r1.nextBoolean());//返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。
System.out.println(r1.nextBoolean());
System.out.println("+++++++++++");
byte[] by1=new byte[5];
byte[] by2=new byte[5];
r1.nextBytes(by1);//生成随机字节并将其置于用户提供的 byte 数组中。
r1.nextBytes(by2);
for(int i=0;i
System.out.print(by1[i]+" ");
}
System.out.println();
for(int j=0;j
System.out.print(by2[j]+" ");
}
System.out.println();
System.out.println("+++++++++++");
//返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。
System.out.println(r1.nextDouble());
System.out.println(r1.nextDouble());
System.out.println("+++++++++++");
//返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。
System.out.println(r1.nextFloat());
System.out.println(r1.nextFloat());
System.out.println("+++++++++++");
//返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0。
System.out.println(r1.nextGaussian());
System.out.println(r1.nextGaussian());
System.out.println("+++++++++++");
//返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
System.out.println(r1.nextInt());
System.out.println(r1.nextInt());
System.out.println("+++++++++++");
//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
System.out.println(r1.nextInt(100));
System.out.println(r1.nextInt(50));
System.out.println("+++++++++++");
//返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值
System.out.println(r1.nextLong());
System.out.println(r1.nextLong());
//r1.setSeed(10);使用单个 long 种子设置此随机数生成器的种子。
}
}

运行结果:

Compiling random1.java.......
-----------OUTPUT-----------
falsefalse
+++++++++++-55 -112 41 -78 93
54 127 -93 -22 120
+++++++++++0.69656134440266490.06445584272260563
+++++++++++0.285779950.8657566
+++++++++++-0.15436582029316171.4500847476555192
+++++++++++1824132073-436413982
+++++++++++2921
+++++++++++3295074968265391496
1387264859162260419[Finished in 1.2s]