与C
一样,我们srand(time(NULL)))
确保下次通话时生成的随机数与当前通话生成的随机数不同。
我试过的是这个。
Random r=new Random();
for(int i=0;i<100;i++)
{
System.out.println(r.nextInt(1000));
}
但它可能会在连续的迭代中打印出相似的数字。
我希望它能在连续迭代中打印不同的数字。
是否有任何预定义的方法来实现这一目标?
答案 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;
}
基本上,它将要打印的潜在数字与打印的最后一个数字进行比较,如果它们相同,则重新输入潜在数字。这是否需要多次获得不相同的连续数字。