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

  • 4
  • Недоступна
Складывать числа — что может быть проще и приятнее? А уж тем более роботу. Давайте напишем программу, в которой пользователь будет вводить числа с клавиатуры, а специальный метод просуммирует их с введенными ранее. И так пока ему не надоест. Ну а если наскучит — пусть вводит -1: программа поймет, что пора завязывать, и выведет на экран сумму.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (151)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Александр7 уровень, Москва
8 часов назад
что не так с этим кодом? автотесты не проходит, просит проверить правильно ли считает. public static void main(String[] args) throws Exception { //напишите тут ваш код BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); while (true) { String s = reader.readLine(); int n = Integer.parseInt(s); if (n == -1) {sum = sum + n; break; } else sum = sum + n; //System.out.println(sum); } System.out.println(sum); } }
Сергей Миг5 уровень
6 часов назад
я не вижу у вас обьявление- sum (int sum =0;) , также оно должнобыть обьявлена вне цыкла иначе ее небудет видно.
ilshat5 уровень, Уфа
вчера, 12:54
можно сделать без break; применяя цикл с условием while(num!=-1)
Александр7 уровень, Москва
19 февраля, 16:00
Админы проверьте, пожалуйста, автотесты. Программа считает правильно, но тест не проходит. Пробовал и с -1 и без нее.
Ксенія Українка5 уровень, Киев
позавчера, 13:56
перезагружать комп пробовал? :) Рили, лучше покажи код - наверника там ошибка
Александр7 уровень, Москва
8 часов назад
public static void main(String[] args) throws Exception { //напишите тут ваш код BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); while (true) { String s = reader.readLine(); int n = Integer.parseInt(s); if (n == -1) {sum = sum + n; break; } else sum = sum + n; //System.out.println(sum); } System.out.println(sum); } }
Psiholirik7 уровень, Мариуполь
15 февраля, 11:38
Сделал в финальном выводе, после завершения работы цикла, (sum-1). Как-то в теле цикла можно -1 прибавить перед break? UPD - завершение цикла после операции суммирования...
Кеннеди7 уровень
16 февраля, 17:15
Даже если и да, то наверное не стоит
Stas Golubev16 уровень, Москва
11 февраля, 12:39
вот это -1 должно учитываться в сумме все испортило=) я считаю, что описание задачи плохое
Makar 7 уровень, Москва
31 января, 07:53
Я так понял - ввод данный с помощью BufferedReader тут не подходит... Потому что, судя по условию задачи, нужно вводить числа до тех пор, пока пользователь не введёт -1. Как только введено -1, прога должна тут же подсчитать сумму всех уже введённых чисел (включая -1)! Каким образом для этих целей (возможности ввода любого количества чисел, в данном случае) использовать BufferedReader - непонятно... Наверное тут подойдёт только Scanner.... В общем надо где-то найти, как это сделать
Makar 7 уровень, Москва
31 января, 09:33
Блин, не могу отстать от этой темы... То есть получается, что каждый раз, когда я (пользователь) ввожу данные (здесь - числа) - они должны тут же отображаться на экране. И для этой задачи это обозначает, что этих чисел можно вводить бесконечное множество раз, но до тех самых пор, пока я не введу число -1. В таком слуае способ ввода через структуру кода BufferedReader rdr = new BufferedReader(new InputStreamReader(System.in)); int n1 = Integer.parseInt(rdr.readLine()); int n2 = Integer.parseInt(rdr.readLine()); int n3 = Integer.parseInt(rdr.readLine()); int n4 = Integer.parseInt(rdr.readLine()); int n.... не подходит, потому что неизвестно - какое количество чисел введет пользователь до того, как введёт -1! Будет ли их 10 или 100, или 100 000 000? Не создавать же сто лямов переменных int n?... Но вернёмся немножко назад. Нужно, 1. что бы пользователь вводил числа, 2. что бы эти числа выводились на экран, 3. что бы эти числа как-то сохранялись в памяти, 4. что бы после ввода -1, прога тут же подсчитать сумму всех уже введённых чисел, включая -1 Внимание вопрос: Каким образом осуществить пункт №3 без создания переменных? Эмм... Использовать бесконечный массив? Scanner? Что-то ещё?
Тимур Лешинин10 уровень, Брянск
3 февраля, 14:45
Тут все просто. Нам не нужно куча переменных, нам достаточно двух, одна из которых каждый раз будет перезаписываться(т.е считывать значения введенные пользователем), а вторая наш счетчик, к которому будет прибавляться каждый раз наше число.
Makar 7 уровень, Москва
3 февраля, 17:08
Да, спасибо! Я уже сообразил, как там чего)))
Антон Юсупов6 уровень, Казань
27 января, 20:26
Почему не проходит валидацию такое решние? Считает все верно... Стоило внести переменную в метод main, как все сразу прошло. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Solution { static int enter =0; public static void main(String[] args) throws IOException { while (true){ int vvod= vvod(); Solution.enter = vvod + Solution.enter; if (vvod==-1) { System.out.println(Solution.enter); break; } } } public static int vvod () throws IOException { BufferedReader vvod=new BufferedReader(new InputStreamReader(System.in)); return Integer.parseInt(vvod.readLine()); } }
Dmitry Sheykin17 уровень, Санкт-Петербург
27 января, 07:54
Сумму выводит верно, но 3 пункт не выполняется. Пробовал и с учётом отрицательного числа суммировать, и без него - не проходит.
Denis Ognevsky6 уровень, Омск
25 января, 06:57
Условия составлены просто ужасно, как будто заказчиком, который не знает чего хочет.
Юрий10 уровень, Москва
24 января, 21:11
Прога считает верно, но валидатор не проходит. Что исправить?
Александр7 уровень, Москва
19 февраля, 16:01
7та же история. получилось как то решить?
Ксенія Українка5 уровень, Киев
позавчера, 14:04
а что уже есть? + попробуйте вводные данные поменять, там после -1 добавить пару цифр