package com.javarush.task.task04.task0442;
/*
Суммирование
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int sum=0;
while(true){
int number=Integer.parseInt(reader.readLine());
sum+=number;
if(number<0){
sum++;
System.out.println(sum);
break;
}
}
}
}
Label Oneside
5 уровень
Что не так не пойму
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Вадим
20 июня 2020, 15:56
В строке 17 у Вас : if(number<0)
Но это не соответствует условию задачи: Если пользователь ввел -1, программа должна вывести сумму всех введенных чисел на экран и завершиться.
Думаю должно быть : if(number==-1)
Иными словами если будет введено к примеру -5, программа и ввод чисел должны продолжаться, а у Вас она прекратится. и вместо -5 в сумму пойдет +1 , судя по 18-ой строке : sum++
+2
Label Oneside
20 июня 2020, 23:48
Спасибо, вы были правы. Нужно было именно -1 а не все отрицаьельные
0
Василий БабинМракоборец в ДурмстрангExpert
20 июня 2020, 13:16
Что происходит в строке 18?
0
Label Oneside
20 июня 2020, 23:47
Там после того как введется -1 выходит из цикла
0
Василий БабинМракоборец в ДурмстрангExpert
21 июня 2020, 11:10
Это был не вопрос, а указание на ошибку.
Вот, что сказано в условии:
-1 должно учитываться в сумме.
В Вашем же случае Вы -1 удаляется.
Значит не вся сумма.
По поводу -1 в сравнении, не написал (ходя Вадим прав), смутило, что валидатор принял Ваше решение.
Но, по факту и это тоже ошибка, так как если брать меньше нуля, то опять же сумма будет вычислена не верна, так как она должна быть равна сумме всех введенных чисел.
0