随机数一些概念

随机数一些概念

真随机数&伪随机数

真随机数物理实验得出,伪随机数通过算法和种子得出,软件实现的都是伪随机数

强随机数&弱随机数

体现于预测性的强弱

随机数种子

随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。

Math.random()方法生成随机数

Math.random()内部是个Random单例调用方法nextDouble()生成0到1之间的浮点

Math.random();
等效于
Random random = new Random();
random.nextDouble();

Random类

Random类两种构造方法,一个带种子数,一个不带,会根据系统时间生成,注意若指定了种子数,则生成的随机数是确定的,除非场景要求一般不设置种子数

    Random random1 = new Random(1000);
    System.out.println("random1");
    for (int i = 0; i < 5; i++)
    {
        System.out.println(random1.nextDouble());
    }
    Random random2 = new Random(1000);
    System.out.println("random2");
    for (int i = 0; i < 5; i++)
    {
        System.out.println(random2.nextDouble());
    }

运行结果

random1
0.7101849056320707
0.574836350385667
0.9464192094792073
0.039405954311386604
0.4864098780914311
random2
0.7101849056320707
0.574836350385667
0.9464192094792073
0.039405954311386604
0.4864098780914311

你可能感兴趣的:(Java)