Вроде считает сумму чисел правильно, но на выходе ошибки...
Информация на выходе:
14
25
44
53
java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at com.javarush.task.pro.task04.task0403.Solution.main(Solution.java:16)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
package com.javarush.task.pro.task04.task0403;
import java.util.Scanner;
/*
Суммирование
*/
public class Solution {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int sum=0;
boolean isExit = false;
while (!isExit)
{
int chislo = s.nextInt();
String stop = s.nextLine();
isExit = stop.equals("ENTER");
sum = chislo + sum;
System.out.println(sum);
}
//напишите тут ваш код
}
}
А вы условие по стоп-слову как сделали? Случаем, не ==? :)упс, извиняюсь... на телефоне пытался рассмотреть... Я бы делал так: - в тело цикла добавить условие по проверке считанного со сканера: "Если сканер hasNextInt()...". Если условие выполняется, то сканером считываем это число (при этом можно не создавать и не инициализировать переменную, например, так: sum += s.nextInt();). Если условие не выполняется - то тогда это стоп-слово (тоже можно без переменной и инициализации - isExit = s.nextLine().equals("ENTER");) А у вас получается, что вы без условия считываете значение как int и сразу считываете, как String и когда сканер "нарывается" на строковое вместо числа - вылазит ошибка). - уберите из тела цикла вывод на печать, оно должно быть за закрывающей скобкой цикла. Поэтому распечатывается каждая итерация, а должно выводится в конце только значение суммы