У меня есть эта проблема, которую я наблюдал при генерации чисел как условие в цикле 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 до случайного числа. Все они совершенно разные, и вы не указали, что хотите. –