2012-09-19 38 views
0

可能重复:
Java random always returns the same number when I set the seed?
Java Random Numbers Using a SeedJava的随机数发生器使用种子

嗨,这是我的代码。我试图用一个种子即15416640同时生成2个随机数。生成的数字并不是真正的随机数。

Random radiusGenerator = new Random(15416640); 

Random angleGenerator = new Random(15416640); 

try 
{ 
    for(int i=1; i<=sequenceNumber; i++) 
    { 
     double radius = (0.5 - (0.5 * Math.sqrt(1-radiusGenerator.nextDouble()))); 
     double angle = angleGenerator.nextDouble(); 
     angle = angle*(Math.PI*2); 

     System.out.print(radius+"  "+ angle +"\n"); 
    } 

请帮助...谢谢!

+1

使用一个随机对象,并生成你想要的一切。 – nhahtdh

+2

和上面的副本昨天由同一用户发布! – mtk

+0

@mtk很好看。 OP,请告诉我们,如果有些事情不清楚,或者仍然不清楚,那么您就不必再问了。 –

回答

0

使用一个Random对象,并生成你想要的一切。由于您使用相同的种子初始化2 Random对象,因此如果您使用相同的方法调用,它们将生成相同的编号。

+0

即使我使用一个生成器....这些数字并不是随机的 –

+0

@RahulBhatia:使用来自Epoch的seed =当前时间(以毫秒为单位)。 – nhahtdh

+0

@RahulBhatia请阅读上一个问题的答案:提供了解释和解决方案 –