我有这个问题,当我在for循环中生成数字作为条件时,我观察到了这个问题。 我在我的android程序中使用了这个。生成循环的随机数
当我这样做:
String temp = "";
for (int i = 0; i < new Random().nextInt(1000); i++) {
temp += i + " ";
}
我总是不超过100
但是,当我这样做:
for (int i = 0; i < 10; i++) {
temp += new Random().nextInt(1000) + " ";
}
我得到了真正的随机数从0到999
究竟发生了什么?
我知道我可以做到这一点:
int x = new Random().nextInt(1000);
for (int i = 0; i < x; i++) {
temp += i + " ";
}
而这也从0-999返回随机数。但我只是想知道为什么第一个代码只返回数量不超过100
你的第一个循环直到'i'大于一个随机数,并且这个随机数在每次迭代中被重新生成。你的第二个生成10个随机数。您的最后一个生成一个从0到一个随机数字的序列。他们都完全不同,你没有指定你想要做什么。 –