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

求教 关于随机数的?
public class Test1 {
public static void main(String[] args) {
Random r = new Random(System.currentTimeMillis());
for(int i = 0;i<15;i++){
System.out.println(r.nextInt());
}
System.out.println("*********");
Random r1 = new Random(System.currentTimeMillis());
for(int i = 0;i<15;i++){
System.out.println(r1.nextInt());
}
}
}

为什么两次系统时间是相同的呢?如何使两个for循环输出随机数是不同的

------解决方案--------------------
你输出一下System.currentTimeMillis(),会发现2次取的值是相等到
------解决方案--------------------
System.currentTimeMillis()的单位是毫秒级的,
你这个程序执行得太快了,所以System.currentTimeMillis()是同一个值
------解决方案--------------------
系统性能好。
正用的这台破机子两次结果不同。
Java code

Random random = new Random(-6732303926L);
for(int i=0;i<10;i++)
    System.out.print(random.nextInt(10)+" ");

------解决方案--------------------
try
 
Java code
new Random(System.nanoTime())