在Java中主要提供了两种方式产生随机数,分别为调用Math类的random()方法和Random类提供的产生各种数据类型随机数的方法。
http://www.Sina.com/http://www.Sina.com /
Math.random ) )方法只能生成0到1之间的双精度数字,但实际上只需对Math.random ) )语句稍加处理,就可以生成任意范围的随机数,如下所示:
1.Math.random()方法
这个方法默认生成大于等于0.0且小于1.0的double型随机数,即0=Math.random()1.0。
也可以使用Math类的random ()方法随机生成字符。 可以使用以下代码生成a到z之间的字符:
(int)(Math.random()*n)-----返回大于等于0且小于n的整数
2.Random类(1) Math类的random )方法可以获取随机数,而Java提供了一种名为java.util.Random类的获取随机数的方法。 可以实例化Random对象以创建随机数生成器。
m+(int)(Math.random()*n)-----返回大于等于m且小于m+n(不包括m+n)的随机数
以这种方式实例化对象时,Java编译器将系统的当前时间作为随机数生成器的种子。 生成的随机数不同,因为每个时间的时间不能相同,但如果运行速度太快,则会生成两次结果相同的随机数。
)同时,当实例化Random系对象时,也可以设定随机数生成器的种子。
(char)('a'+Math.random()*('z'-'a'+1)); //加1是因为要取到z
Random类提供了获取各种数据类型随机数的方法。 让我列举一些常见的方法。
public int nextInt(: )返回随机整数public int nextInt(:其中,0以上且小于n的随机整数public long nextlong (: )是随机长度整数值public bolean next boolint publicfloatnextfloat(:返回随机浮点值。 公共双精度双精度) ) :返回随机双精度类型值。 public double nextGaussian ) ) 3360返回随机双精度类型值