Всем привет. Я застрял и не понимаю, почему код дает мне «неправильный» ответ.
Моя задача: написать программа, которая принимает числа и считает их до тех пор, пока пользователь не наберет "exit", затем программа распечатает сводку всех цифр, которые пользователь только что ввел, и останавливается.
Я учусь java онлайн на момент и не знаю, как на это ответить: когда вы вводите 1, 2 или 3 числа или более, он вычисляет и печатает неправильный результат, или даже код не может быть скомпилирован и выдает ошибку.
Например, вы вводите 2 числа, и возникает ошибка
Исключение в потоке «main» java .lang.NumberFormatException: для входной строки: «exit» в java .base / java .lang.NumberFormatException.forInputString (NumberFormatException. java: 68) в java .base / java .lang.Integer.parseInt (Integer. java: 652) в java .base / java .lang.Integer.parseInt (Integer. java: 770) в JR.constructors.Solution.main (Решение. java: 1 1)
ИЛИ 3 числа, например 2 + 3 + 4, и он печатает 6 вместо 8.
Помогите мне, пожалуйста!
А вот мой код
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int sum = 0;
while(true){
int a = Integer.parseInt(reader.readLine());
String s = reader.readLine();
sum += a;
if(s.equals("exit")){
System.out.println(sum);
break;
}
}
}