Почему, когда я ввожу слово "enter" в консоль, код НЕ срабатывает при таком условии if (sc.nextLine().equalsIgnoreCase("enter")) System.out.println(sum); и СРАБАТЫВАЕТ при таком, обратном (с отрицанием)? if (!(sc.nextLine().equalsIgnoreCase("enter"))) System.out.println(sum); В общем, никто не ответил, подумала сама и пришла к выводу: Смысл в этом: Когда цикл while дошел до строки "enter', он ее проверил - не число. While завершился. Код переходит к циклу if, и цикл if уже пропускает строку с "enter" как отработанную и присваивает значение ДАЛЬШЕ СЛЕДУЮЩЕЙ строке, то есть никакой, ПУСТОЙ. Пустая строка сравнивается с "enter" - ложь, программа завершается, сумма не выводится. Проверила свои мысли, вбив в условие if такой код: if (sc.nextLine().equals("")) //сравнение с пустой строкой Код работает ИСПРАВНО тогда. Видимо, не дружат совсем nextInt() и nextLine() между собой, с одной и той же строкой работать не будут. Я права хотя бы?