JavaRush
AI Academy
new
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Что не так не пойму
Label Oneside
5 уровень
  • 20.06.2020
  • 407просмотров
  • 5комментариев

Что не так не пойму

Вопрос по задаче Суммирование
Java Syntax,  4 уровень,  16 лекция
Обсуждается

Вводить с клавиатуры числа.
Если пользователь ввел -1, вывести на экран сумму всех введенных чисел и завершить программу.
-1 должно учитываться в сумме.

Подсказка: один из вариантов решения этой задачи, использовать конструкцию:

while (true) {
    int number = считываем число;
    if (проверяем, что number -1)
        break;
}

Требования:
  • Программа должна считывать числа c клавиатуры.
  • Если пользователь ввел -1, программа должна вывести сумму всех введенных чисел на экран и завершиться.
  • Программа должна посчитать сумму введенных чисел и вывести её на экран.
  • В программе должен использоваться цикл for, while или do-while.
....
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; } } } }
0
Комментарии (5)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Вадим
Уровень 17
20 июня 2020, 15:56
В строке 17 у Вас : if(number<0) Но это не соответствует условию задачи: Если пользователь ввел -1, программа должна вывести сумму всех введенных чисел на экран и завершиться. Думаю должно быть : if(number==-1) Иными словами если будет введено к примеру -5, программа и ввод чисел должны продолжаться, а у Вас она прекратится. и вместо -5 в сумму пойдет +1 , судя по 18-ой строке : sum++
+2
Label Oneside
Уровень 5
20 июня 2020, 23:48
Спасибо, вы были правы. Нужно было именно -1 а не все отрицаьельные
0
Василий БабинМракоборец в ДурмстрангExpert
20 июня 2020, 13:16
Что происходит в строке 18?
0
Label Oneside
Уровень 5
20 июня 2020, 23:47
Там после того как введется -1 выходит из цикла
0
Василий БабинМракоборец в ДурмстрангExpert
21 июня 2020, 11:10
Это был не вопрос, а указание на ошибку. Вот, что сказано в условии: -1 должно учитываться в сумме. В Вашем же случае Вы -1 удаляется. Значит не вся сумма. По поводу -1 в сравнении, не написал (ходя Вадим прав), смутило, что валидатор принял Ваше решение. Но, по факту и это тоже ошибка, так как если брать меньше нуля, то опять же сумма будет вычислена не верна, так как она должна быть равна сумме всех введенных чисел.
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush