Random

注意:其实Java中是没有绝对随机的数!Java中的随机都是 伪随机 通过算法实现

随机数的两种实现方式:

利用java.lang.Math类中的random方法:

static double random();//返回的是[0.0,1.0)之间的随机小数

利用java.util.Random类中的-正宗的求随机的数方式.

int nextInt(int n);//返回的是\[0,n)之间的随机整数.

Random类中有一个含有一个参数的构造方法:

Random(long seed) // 使用long类型随机数种子创建一个随机数生成器

拥有相同种子的random对象,生成的随机数也相同,如果要改变随机数,就要使用setSeed方法重新设置此随机数的种子:

Random random  = new Random(100);
System.out.println(random.nextInt());

Random random2  = new Random(100);
System.out.println(random2.nextInt());

// 运行结果都为-1193959466

Java中随机数的原理,为什么说Java, C, .Net 都是伪随机数?

在Java中,所谓的随机数都是通过算法实现的,就是用你运行的时间作为种子,然后通过求余等运算计算出来的。

最后更新于