Суммирование

  • 3
  • Недоступна
Складывать числа — что может быть проще и приятнее? А уж тем более роботу. Давайте напишем программу, в которой пользователь будет вводить числа с клавиатуры, а специальный метод просуммирует их с введенными ранее. И так пока ему не надоест. Ну а если наскучит — пусть вводит -1: программа поймет, что пора завязывать, и выведет на экран сумму.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (86)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Сергей5 уровень, Москва
вчера, 19:00
Решил вот таким макаром. Проверка ругалась на то, что скрипт неправильно считает сумму. Видимо в проверке кода есть триггер, что если выводится что-то, то оно должно выводиться с учетом -1. Убрал строку 16 и заработало. Мне кажется лучше пометить в предусловиях, что промежуточные варианты не должны выводиться. Проверка сказала, что программа неправильно считает сумму, что только сбивает с толку. Судя по обилию комментов с жалобами на неправильные подсчеты, проблема такая возникла не только у меня.
ValeryGL6 уровень, Москва
понедельник, 07:52
Я сделал задачу с прерыванием вечного цикла брейком, как в подсказке; но подскажите, почему нельзя организовать вот такой цикл?
do {
                                // тут считывается число, неважно
		int a = Integer.parseInt(aa);
		summ = summ + a;
} while (a != -1);  // ругается вот на эту строку и переменную "а"
Получаю ошибку: Не могу найти описание переменной "a" в классе "com.javarush.task.task04.task0442.Solution". Возможно вы забыли ее импортировать (указать в import). error: cannot find symbol symbol: variable a location: class com.javarush.task.task04.task0442.Solution
Rina14 уровень
8 марта, 19:08
while (true) {
    num = Integer.parseInt(reader.readLine());
    sum += num;
    (num == -1) ? break;
    //if (num == -1) break; //как тернальный оператор не работает
};
Пробовала сделать условие выхода через тернальный оператор, но почему-то выдает ошибку. Строки
(num == -1) ? break;
и
if (num == -1) break;
по содержанию совершенно одинаковые, но первая падает с ошибкой, вторая отабатывает нормально. В чем причина? Как правильно составить тернальный оператор в этом случае?
Alexander Alyabyev10 уровень, Москва
4 марта, 07:44
Demid9 уровень
1 марта, 07:16
подсказка небольшая, сумму сразу можно инициализировать со значением -1... ;)
Vasilii Cojocari17 уровень
22 февраля, 07:01
Вчера были море попыток, сегодня со 2-го раза.
Denis7 уровень
16 февраля, 14:57
16 попыток, задача легкая, но выбесила меня...не знаю почему...может стресс виноват, а может Я туповат...хочется верить в первый вариант.
Denis7 уровень
16 февраля, 14:59
Кто не может решить,инициализируйте счетчик за циклом, а внутри цикла += buffer к нему, и будет вам Щастье.
katfald18 уровень, Киев
13 февраля, 14:09
Хорошая задача. Сделала циклом do while на 3 строчки
31 января, 10:26
Может я совсем тупой но единственное что я не понимаю как их просуммировать все, а не по очереди ?
Николай8 уровень, Минск
3 февраля, 17:18
Суммируешь в любом случае по очереди, но выводить нужно только итог. С учетом - 1. 2 3 2 -1 Сумма должна быть 6.
Нина Можарская10 уровень, Киев
18 февраля, 09:54
sum+=n; - это в цикле. А перед циклом int sum = 0;
Alexandr Koryakin19 уровень
29 января, 03:05
Решил. Вывод на консоль должен быть одним числом, а не в столбик, складывая каждое введённое значение.