在java中为每个连续迭代生成不同的随机数。

时间:2016-08-19 12:56:53

标签: java random

C一样,我们srand(time(NULL)))确保下次通话时生成的随机数与当前通话生成的随机数不同。

  

我试过的是这个。

Random r=new Random();
for(int i=0;i<100;i++)
{
System.out.println(r.nextInt(1000)); 
}

但它可能会在连续的迭代中打印出相似的数字。

我希望它能在连续迭代中打印不同的数字。

是否有任何预定义的方法来实现这一目标?

1 个答案:

答案 0 :(得分:1)

Random r=new Random();
int newNumber;
int oldNumber = -1; //Will never be matching the random number.
for(int i=0;i<100;i++){
    do{
        newNumber = r.nextInt(1000);
    } while (newNumber == oldNumber);
    System.out.println(newNumber));
    oldNumber = newNumber; 
}

基本上,它将要打印的潜在数字与打印的最后一个数字进行比较,如果它们相同,则重新输入潜在数字。这是否需要多次获得不相同的连续数字。