Java中java.lang.Math.Random和java.util.Random
1.java.lang.Math.Random
返回一个正的double值,范围是[0.0, 1.0),在该范围内近似是均匀分布
int num = (int)(Math.Random() * 12)
返回的是0-11之间的值,注意返回值是double型,使用时注意类型转换
2.java.util.Random
有两种构造方法
1)Random() 创建一个随机数生成器
2)Random(long seed) 使用long种子创建随机数生成器
转自http://blog.sina.com.cn/s/blog_93dc666c0101h3gd.html
两个随机函数到底的特点:
1.java.Math.Random()实际是在内部调用java.util.Random()的,它有一个致命的弱点,它和系统时间有关,也就是说相隔时间很短的两个random比如:
double a = Math.random();
double b = Math.random();
即有可能会得到两个一模一样的double。
2.java.util.Random()在调用的时候可以实现和java.Math.Random()一样的功能,而且他具有很多的调用方法,相对来说比较灵活。所以从总体来看,使用java.util.Random()会相对来说比较灵活一些。