三、Random类使用说明
1、带与不带的区别Random类使用的根本是策略分带和不带的Random的实例。
通俗说,两者的区别是:带的,每次运行生成的结果都是一样的。
不带的,每次运行生成的都是随机的,没有规律可言。
2、创建不带的Random对象
3、创建不带的Random对象有两种方法:
1) Random random = new Random(555L);
2) Random random = new Random();random.setSeed(555L);
四、测试
通过一个例子说明上面的用法
运行结果:

--------------test()--------------
r1 = 1227108626582
r3 = 0.5324887850155043
r2 = -368083737
--------------testNoSeed()--------------
809503475
1585541532
-645134204
--------------testSeed1()--------------
-1367481220
292886146
-1462441651
--------------testSeed2()--------------
-1367481220
292886146
-1462441651
Process finished with exit code 0
通过testSeed1()与testSeed2()方法的结果可以看到,两个打印结果相同,因为他们相同,再运行一次,结果还是一样的,这就是带随机数的特性。而不带的,每次运行结果都是随机的。
五、综合应用
下面通过最近写的一个随机数工具类来展示用法:
运行结果:
vWMBPiNbzfGCpHG
23hyraHdJkKPwMv
tigowetbwkm1nde
BPZ1KNEJPHB115N
000000000000000
000000000000123
000000000000123
Process finished with exit code 0
六、总结
1、随机数很常用,在Java有三种产生方式,以Random随机数的使用最为复杂。
2、Random类对象有是否带之分,带的只要相同,多次运行,生成随机数的结果总是那样。
3、带随机数的带的对象创建方式有两种,效果一样。但是带的随机数用处似乎不大。
4、Random的功能涵盖了Math.random()的功能。
5、可以通过随机数去做实现随机字符串等复杂的随机数据。
6、不要研究不重复的随机数,意义不大。
在Java 中我们可以使用java.util.Random类来产生一个随机数发生器。它有两种形式的构造函数,分别是Random()和Random(long seed)。Random()使用当前时间即System.currentTimeMillis()作为发生器的,Random(long seed)使用指定的seed作为发生器的。
随机数发生器(Random)对象产生以后,通过调用不同的method:nextInt()、nextLong()、nextFloat()、nextDouble()等获得不同类型随机数。
1>生成随机数
random调用不同的方法,获得随机数。
如果2个Random对象使用相同的(比如都是100),并且以相同的顺序调用相同的函数,那它们返回值完全相同。如下面代码中两个Random对象的输出完全相同
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-70093-3.html
说得好