Random类

来源:互联网 发布:安卓php服务器汉化版 编辑:程序博客网 时间:2024/06/05 07:51


Random

java.lang.Object
————java.util.Random

public class Random extends Object implements Serializable此类的实例用于生成伪随机数流。此类使用 48 位的种子


public Random()创建一个新的随机数生成器。默认种子为纳秒值此构造方法将随机数生成器的种子设置为某个值,该值与此构造方法的所有其他调用所用的值完全不同。


public Random(long seed)使用单个 long 种子创建一个新的随机数生成器。该种子是伪随机数生成器的内部状态的初始值,该生成器可通过方法 next(int) 维护。 调用 new Random(seed) 等效于:  Random rnd = new Random(); rnd.setSeed(seed);


public int nextInt()返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。nextInt 的常规协定是,伪随机地生成并返回一个 int 值。所有 2^32个可能 int 值的生成概率(大致)相同。 Random 类按如下方式实现 nextInt 方法:  public int nextInt() {   return next(32); }返回:下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。


*public int nextInt(int n)返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。nextInt 的常规协定是,伪随机地生成并返回指定范围中的一个 int 值。所有可能的 n 个 int 值的生成概率(大致)相同。Random 类按如下方式实现 nextInt(int n) 方法:  public int nextInt(int n) {     if (n<=0)throw new IllegalArgumentException("n must be positive");     if ((n & -n) == n)  // i.e., n is a power of 2         return (int)((n * (long)next(31)) >> 31);     int bits, val;     do {         bits = next(31);         val = bits % n;     } while(bits - val + (n-1) < 0);     return val;  }

import java.util.Random;public class d {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubRandom r1 = new Random(100);int x= r1.nextInt();int y = r1.nextInt();System.out.println(x);System.out.println(y);Random r2 = new Random(100);int a = r2.nextInt();int b = r2.nextInt();System.out.println(a);System.out.println(b);/*-1193959466-1139614796-1193959466-1139614796*/System.out.println("————————————————————");Random r = new Random();for(int i = 0; i < 10; i++) {System.out.println(r.nextInt());}System.out.println("————————————————————");for(int i = 0; i < 10; i++) {System.out.println(r.nextInt(100));//生成在0到n范围内的随机数,包含0不包含n}}}



0 0
原创粉丝点击