我正在研究一个关于随机数的大型学校项目,但我找不到时间段Math.random().我安装了7.0.800.15版本,我正在使用Windows 10计算机.我试过用一个简单的程序来确定句点,它保存了第一个值:
double num = Math.random();
Run Code Online (Sandbox Code Playgroud)
在一个数组中,然后循环,直到它再次在一行中找到相同的值,因此一个句点已经过去,但没有结果,周期太长.
所以我的问题是:Math.random()我的版本是什么时期?或者:有没有办法用简单的程序来确定周期?
编辑:拿走了指向有关JavaScript的页面的源代码,它不相关
小智 5
Java的Math.Random使用模数为2 ^ 48的线性同余生成器.具有良好选择参数的这种伪随机生成器的周期等于模数.显然,Java中的参数是明智的选择,所以实际上这个时期是2 ^ 48.
资料来源:https : //en.wikipedia.org/wiki/Linear_congruential_generator http://www.javamex.com/tutorials/random_numbers/java_util_random_algorithm.shtml#.WKX-gRJ97dQ