在 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 的数字。