当前位置: 代码迷 >> Java相关 >> 求教 关于随机数的?解决思路
  详细解决方案

求教 关于随机数的?解决思路

热度:10072   发布时间:2013-02-25 21:47:45.0
求教 关于随机数的?
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())
  相关解决方案