Java中Random的简单使用说明

    Random类用于生成伪随机数流。使用 48 位的种子,使用线性同余公式对其进行修改。如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。为了保证属性的实现,为类 Random 指定了特定的算法。为了 Java 代码的完全可移植性,Java 实现必须让类 Random 使用此处所示的所有算法。但是允许 Random 类的子类使用其他算法,只要其符合所有方法的常规协定即可。

    其有两种初始化方式:

    Random R = Random ( ) ;

    Random R = Random (long seed):使用单个 long 种子创建一个新随机数生成器;

 

    其随机数生成方法如下:    

    

 protected  int next(int bits) 

          生成下一个伪随机数。 

 boolean nextBoolean() 

          返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 boolean 值。 

 void nextBytes(byte[] bytes) 

          生成随机字节并将其置于用户提供的字节数组中。 

 double nextDouble() 

          返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 0.0 和 1.0之间均匀分布的 double 值。 

 float nextFloat() 

          返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在 0.0 和 1.0 之间均匀分布的 float 值。 

 double nextGaussian() 

          返回下一个伪随机数,它是从此随机数生成器的序列中取出的、呈高斯(“正常地”)分布的 double 值,其平均值是 0.0,标准偏差是 1.0。 

 int nextInt() 

          返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。 

 int nextInt(int n) 

          返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。 

 long nextLong() 

          返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 long 值。 

 void setSeed(long seed) 

          使用单个 long 种子设置此随机数生成器的种子。 

 

具体使用方法浅析:

    对于Random类来说,其随机数不是真正的随机数,是伪随机数;那如果需要得到真正的随机数,最好不要使用该类,最简单的方法,其他Java包中有实现好的现成函数。那主要是其范围控制,一般通过如下方法实现:

    Random%A+B

    Random是随机数,A是你需要控制的范围,B是你需要的便宜量

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2012-07-21 20:04  java例子  阅读(475)  评论(0编辑  收藏  举报