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

一个小问题:如何产生2个真的随机数,或者短时间内产生2个不同的伪随机数
我把地图分成   x   y   的坐标系
我想随机在地图上出现一个Group
所以需要连着产生2个不同的随机数
但是现在系统产生的都是一样的,估计是时间太短了,所以这些伪随机数都一样

更可悲的是我要连续添加好几个Group,他们居然都重合了
10次才有1次不重合-_-!!!
晕死!

有什么好方法吗?或者怎么改写产生随即数的方法?

------解决方案--------------------
你的随机数产生方式错误
如果没有猜错的话,你的随机数是不是这样求的? new Random().nextInt()?

new Random()以当前时间为种子产生随机数,同一时间种子相同,得出的下一个随机数也必然相同
推荐一个通用的解决方案

private static final Random rd=new Random();
public static int getRandomInt()
{
return rd.nextInt();
}

这样即使在同一时间反复调用随机数生成,由于种子数不同,得到的随机数也不同