随机函数的问题

q994539183 2012-11-07 03:03:23
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));

这样子运行出来的随机数是一样的,为什么啊?求高手指教
...全文
222 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
q994539183 2012-11-08
  • 打赏
  • 举报
回复
谢谢大家了 只能说这个seed使这个伪随机变的更假了
关键我是洛哥 2012-11-07
  • 打赏
  • 举报
回复
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)); 这样写就不一样了 楼主这样的写法有人解释过 忘了 我就记住了这个是正确的
Tony-Lu 2012-11-07
  • 打赏
  • 举报
回复
刚试了一下,和时间没关系,呵呵,上面说错了,不好意思。 你可以把时间做种子,这样可以每次运行都不一样。
Tony-Lu 2012-11-07
  • 打赏
  • 举报
回复
1、种子一样,你可以用for循环i当种子。 2、因为运行速度太快了,java取随机数是把种子和时间一起运算的,你用在每个中间插入Thread.sleep(10),再试试看。
q994539183 2012-11-07
  • 打赏
  • 举报
回复
请问seed有什么作用啊?
ryanhuang2004 2012-11-07
  • 打赏
  • 举报
回复
new Random(10);两个Random都用的同一个seed. 所以随机数相同.
q994539183 2012-11-07
  • 打赏
  • 举报
回复
大家帮帮吗把

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧