Scanner console = new Scanner(System.in);
int sum = 0;
boolean stop = false;
while(!stop) {
if (console.hasNextInt()){
int num = console.nextInt();
sum = sum+num;
} else if (console.hasNextLine()) {
String s = console.nextLine();
if (s.equals("ENTER")) {
System.out.println(sum);
}
}
}
}
}
Поправил код в своем компиляторе. Такое решение должно удовлетворять всем условиям задачи. проверьте плз?
Диего Марадона
32 уровень
пример правильного решения Javarush не верный.
Решен
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ГоффMaster
2 июля 2023, 22:24полезный
Цикл никогда не закончится, потому что переменная stop в цикле нигде не изменяется на тру.
В джаву написали, компилятор починят.
+1
ГоффMaster
2 июля 2023, 22:30полезный
Попутно лайфхак - было бы лучше булеву переменную назвать continueLoop и инициализировать её true. Тогда машине не надо будет при каждом проходе цикла вычислять обратное значение переменной в условии продолжения цикла.
+1
Денис Enterprise Java Developer
2 июля 2023, 17:19
Ты конечно большой молодец, что написал свой собственный компилятор для java, но по сути вопроса нифига не понятно, где условие задачи, где "неправильное" правильное решение?) Где пояснительная бригада?
0
Александр Сапрыкин
2 июля 2023, 15:31
Или еще проще, использовать два цикла, один вложеный в другой. В первом циклиться до стоп слова, во втором, пока вводится целое число (.hasNextInt()).
0
Anonymous #2484617 Backend Developer
26 июня 2023, 18:40
Все хорошо, только надо остановить программу. В твоем случае переменной stop присвоить значение true
+1