@nedevochka

Почему цикл for работает вопреки значению false?

public class JavaApplication33 {

    public static void main(String[] args) {
        int i, j;
        boolean b;
        
        for( i = 2;  i < 100;  i++) {
            b = true;
            
            //проверить, делится ли число без остатка
            for ( j = 2;  j <= i / j   ; j++)
                
                //если число делится без остатка, значит, оно не простое
                if( ( i % j ) ==  0 ) b = false;
            
            if (b)
                System.out.println( i + " - простое число" );
        }
    }
    
}

Изучаю java, решение списано из учебника Шилдта, вопросы относительно второго цикла
Допустим число i = 7, а j = 3, цикл for по условия ( j <= i / j ) должен принять значение false (т.к. 3 <= 7/3 логически неверно), но j все равно продолжает увеличиваться согласно итерации, хотя цикл должен был прекратить выполнение, почему так?
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ответы на вопрос 1
@rPman
потому что само присваивание b=false не отменяет цикл, необходимо сделать break
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы