首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

随机函数的有关问题

2012-12-28 
随机函数的问题Random r1 new Random(10)Random r2 new Random(10)System.out.println(r1.nextInt(1

随机函数的问题
                Random r1 = new Random(10);
Random r2 = new Random(10);
System.out.println(r1.nextInt(10));
System.out.println(r1.nextInt(10));
System.out.println(r1.nextInt(10));
System.out.println(r2.nextInt(10));
System.out.println(r2.nextInt(10));
System.out.println(r2.nextInt(10));

这样子运行出来的随机数是一样的,为什么啊?求高手指教
[最优解释]
1、种子一样,你可以用for循环i当种子。
2、因为运行速度太快了,java取随机数是把种子和时间一起运算的,你用在每个中间插入Thread.sleep(10),再试试看。
[其他解释]
new Random(10);两个Random都用的同一个seed. 所以随机数相同.
[其他解释]
Random r1 = new Random();
Random r2 = new Random();System.out.println(r1.nextInt(10));
System.out.println(r1.nextInt(10));
System.out.println(r1.nextInt(10));
System.out.println(r2.nextInt(10));
System.out.println(r2.nextInt(10));
System.out.println(r2.nextInt(10));
这样写就不一样了 楼主这样的写法有人解释过 忘了 我就记住了这个是正确的


[其他解释]
大家帮帮吗把
[其他解释]
请问seed有什么作用啊?
[其他解释]
刚试了一下,和时间没关系,呵呵,上面说错了,不好意思。
你可以把时间做种子,这样可以每次运行都不一样。
[其他解释]


谢谢大家了   只能说这个seed使这个伪随机变的更假了

热点排行