日期:2014-05-20  浏览次数:20857 次

Math.random()这个指令的具体意思?
请问Math.random()是作用是?

以及max=9999,min=1000,
(int)(Math.random()*(max-min)+min)为什么就是一个四位数了?有点不太明白

------解决方案--------------------
Math.random*number 产生一个 0 - number的一个数
所以 (Math.random()*(max-min) 产生 0-8999中的一个数
 (Math.random()*(max-min) 在加上min 就是 1000-9999的一个数。
(int)强转为整形
------解决方案--------------------
random
public static double random()返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。 
第一次调用该方法时,它将创建一个新的伪随机数生成器,与以下表达式完全相同 

new java.util.Random之后,新的伪随机数生成器可用于此方法的所有调用,但不能用于其他地方。 
此方法是完全同步的,可允许多个线程使用而不出现错误。但是,如果许多线程需要以极高的速率生成伪随机数,那么这可能会减少每个线程对拥有自己伪随机数生成器的争用。

个人技术博客 http://www.happyalaric.com