Random类

来源:互联网 发布:美图秀秀淘宝 编辑:程序博客网 时间:2024/05/16 10:19

import java.util.Random;

/**
 * Random类生成一个伪随机数
 * 俩个构造函数:1.使用默认的种子, 2.需要程序员显式传入一个long型整数的种子
 * random.nextInt();
 * 如果俩个实例用同一个种子创建的,对他们以同样的顺序调用方法,则它们会产生相同的数字序列
 * 所以为了避免俩个Random对象产生相同的数字序列,通常推荐使用当前时间来作为Random对象的种子
 * @author liyongyong
 *
 */
public class TestRandom {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Random r1 = new Random(50);
        System.err.println("第一个种子为50的Random对象");
        System.out.println("r1.nextBoolean():/t" + r1.nextBoolean());
        System.out.println("r1.nextInt():/t/t"   + r1.nextInt());
        System.out.println("r1.nextDouble():/t"  + r1.nextDouble());
        System.out.println("r1.nextGaussian():/t"+ r1.nextGaussian());
       
        Random r2 = new Random(50);
        System.err.println("第二个种子为50的Random对象");
        System.out.println("r2.nextBoolean():/t" + r2.nextBoolean());
        System.out.println("r2.nextInt():/t/t"   + r2.nextInt());
        System.out.println("r2.nextDouble():/t"  + r2.nextDouble());
        System.out.println("r2.nextGaussian():/t"+ r2.nextGaussian());
       
        Random r3 = new Random(100);
        System.err.println("第三个种子为100的Random对象");
        System.out.println("r3.nextBoolean():/t" + r3.nextBoolean());
        System.out.println("r3.nextInt():/t/t"   + r3.nextInt());
        System.out.println("r3.nextDouble():/t"  + r3.nextDouble());
        System.out.println("r3.nextGaussian():/t"+ r3.nextGaussian());
       
        Random r4 = new Random(System.currentTimeMillis());       
    }
}

原创粉丝点击