您的位置:首页 > 其它

J2SE基础之Random类的使用

2009-12-17 08:45 162 查看
在学习排序算法的时候用到了java.util.Random类,用来取得一些随机数,通过查看API,发现了许多以前忽略的问题,在这里将用到的知识写一下:
Random.nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值。但是此随机数可能会很大,而且会有负数出现。
所以常用Random.nextDouble():返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的double值,然后再用
Int i=(int)(random.nextDouble()*100)
取出一个介于0和100的正整数。
Random类还有一个带参数的构造方法:
Random(long seed) 使用单个long种子创建一个新的随机数生成器。
不知道具体的实现方法,但是当这样使用时,会产生一组固定的随机数。

Math.random()方法可以实现同样的效果,而且API也做出了说明:很多应用程序会发现Math.random()方法更易于使用。
public static double random():
[align=left]返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。 [/align]
[align=left]第一次调用该方法时,它将创建一个新的伪随机数生成器,与以下表达式完全相同 [/align]
[align=left]new java.util.Random[/align]
[align=left]之后,新的伪随机数生成器可用于此方法的所有调用,但不能用于其他地方。 [/align]
[align=left]此方法是完全同步的,可允许多个线程使用而不出现错误。但是,如果许多线程需要以极高的速率生成伪随机数,那么这可能会减少每个线程对拥有自己伪随机数生成器的争用。[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐