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中,所谓的随机数都是通过算法实现的,就是用你运行的时间作为种子,然后通过求余等运算计算出来的。
最后更新于
这有帮助吗?