package com.javarush.task.pro.task04.task0403;
import java.util.Scanner;
/*
Суммирование
*/
public class Solution {
public static void main(String[] args) {
//напишите тут ваш код
int sum = 0;
Scanner console = new Scanner(System.in);
System.out.println("Введите число");
String answ = "ENTER";
boolean Exit = false;
while(!Exit) {
if (console.hasNextInt()){
int firstnum = console.nextInt();
System.out.println("Число: " + firstnum);
sum = sum + firstnum;
}
else if (console.hasNextLine()){
String line = console.nextLine();
if (line.equalsIgnoreCase(answ)){
Exit= true;
System.out.println("Ответ:" + sum);
break;
}
}
}
}
}
Koddaks
13 уровень
пользователь ввел стоп слово. НЕ Выполнено...
Решен
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сонмониус Full Stack Developer
1 июня 2022, 22:43
Согласен с Adoй. Валидатор очень придирчив к дословному выполнению заданий.
1) - проверка идет без учета регистра
2)
выводите помимо суммы еще свое дополнение "Ответ:" - валидатор на такое часто ругается.
От себя только добавлю, что java часто используется в больших проектах, где программисты могут даже не знать где конкретно потом будет использоваться их код. Так что в таком поведении валидатора, есть значительная доля истины.
К примеру дали вам задание - вывести на экран полученную сумму, вы добавили от себя "Ответ:". А к примеру другому программисту с того же проекта дадут задание написать код, который считывает с экрана число. Он его напишет нормально, но при попытке перевести это число к формату Integer, у него выскочит ошибка, потому что ваша часть кода вместо числа выдает строку. (Эта конкретная ситуация чисто гипотетическая, вряд ли кто-то будет извращаться и вначале выводить информацию на экран, а потом с него считывать, но смысл думаю понятен).
0
НикитаExpert
1 июня 2022, 18:56
и 14 строчка лишняя, написано же вывести на экран полученную сумму, ничего кроме этого выводить не нужно
+1
Eduard Agafonov
16 июня 2022, 09:03
Объясните пожалуйста, почему там в конце написано Exit= true;, не могу понять.
0
НикитаExpert
16 июня 2022, 11:23
это для выхода из цикла, но здесь это лишнее.
0
Eduard Agafonov
16 июня 2022, 15:42
Спасибо, можете подсказать в каких ситуациях это нужно писать или скинуть ссылку, может конечно это рано для меня, но раз уж столкнулся.
0
НикитаExpert
16 июня 2022, 16:55полезный
Просто в этом коде уже используется оператор break для выхода из цикла, и использовать еще для этого дополнительную переменную не имеет смысла
+1
Eduard Agafonov
17 июня 2022, 08:40
Спасибо
0
Ada
1 июня 2022, 18:21решение
строчка 28: скорее всего, валидатор в этой задаче проверяет слово с учетом регистра
строчка 30: нужно вывести только сумму
+3