Имеем два цикла, которые, по сути, должны давать одинаковый результат:
for (int i = 0; i < bombs.length; i++) {
for (int bombCount = 10; bombCount > 0; bombCount--) {
int j = (int) (Math.random() * width);
if (bombs[i][j] == 0) {
bombs[i][j] = 1;
}
}
}
for (int i = 0; i < bombs.length; i++) {
int bombCount = 10;
while (bombCount > 0) {
int j = (int) (Math.random() * width);
if (bombs[i][j] == 0) {
bombs[i][j] = 1;
bombCount--;
}
}
}
Циклы должны выдавать 10 цифр 1 в рандомных местах строки массива, цикл while так и делает, однако цикл for может выдать меньше 10 единиц, не может ли подсказать кто, почему так происходит? Тут вроде как нигде не используется continue, почему работа циклов отличается?