А почему так не работает ? Сумму считает, но, собака злая, от любой строки заканчивает счёт.
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
boolean isExit = false;
if (scanner.hasNextInt()) {
//Если ввели число
while (scanner.hasNextInt()) {
// пока вводят числа
int num = scanner.nextInt();
sum = sum + num;
}
//всё суммируется.
} else {
//В противном случае
while (!isExit) {
//Пока не ввели ENTER ждём введения строк;
String s = scanner.nextLine();
//Как только введена строка,сравниваем её с ENTER.
if (isExit = s.equals("ENTER"))
//Если введённая строка является "ENTER"
isExit = true;
//Заканчиваем цикл
}
}
System.out.println(sum);
}
}
. " ? 2. "если первое было введено число, то заходим в if, а если уже зашли в if, то в else уже никогда не попадем." ПОЧЕМУ!!!!??? Просто констатировать факт не достаточно. Надо объяснить причину, чтоб в дальнейшем таких ошибок не делать. 3. "Но по обсуждению я так понял сейчас уже код изменился?" Методом научного тыка, на мой взгляд, изменился. Но я не пойму логику почему надо именно так, а не иначе. И почему изначальный вариант не работает.