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

package com.javarush.test.level04.lesson16.home03;

import java.io.*;

public class Solution
{
    public static void main(String[] args)   throws Exception
    {
        int summ = 0;
        for (;;)
        {
            BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
            int a = Integer.parseInt(read.readLine());
            summ = summ + a;
            if (a==-1)
            {
                System.out.println(summ);
                System.exit(0);
            }
        }
    }
}

задан 08 Ноя '16, 00:41

GreenGrass's gravatar image

GreenGrass
11
одобрено: 0%

закрыто 13 Сен, 16:33

AndyRad's gravatar image

AndyRad
13.1k29

Вопрос был закрыт по следующей причине: "Problem is not reproducible or outdated" AndyRad 13 Сен, 16:33


Понятия не имею в чем проблема, ибо нет условия, но я точно скажу, что создавать каждую итерацию объект BufferedReader не правильно.

ссылка

опубликован 08 Ноя '16, 01:44

Ivan_Ivan's gravatar image

Ivan_Ivan
1122
одобрено: 31%

1) Ридер надо убирать из цикла. 2) -1 должно учитываться в сумме. не учтено. У вас в любом случае сначала идет сумма, т.е. прибавляеться "-1", а потом идет проверка на -1. 3) ну и закрыть поток ридера не помешает)

ссылка

опубликован 08 Ноя '16, 04:03

%D0%B4%D0%BE%D0%BD%D0%A0%D1%83%D0%BC%D0%B0%D1%82%D0%B0's gravatar image

донРумата
764
одобрено: 27%

изменено 08 Ноя '16, 04:04

Пардон. Это я уже так прочитал задание. Да именно тут должен учесть. Хотя это и не логично.

(08 Ноя '16, 06:40) донРумата

А ещё хорошо бы int a также вынести перед циклом, а for(;;) заменить на while(true) можно. На 18 строку ещё валидатор ругаться может, хотя не уверен.

(08 Ноя '16, 06:36) AlexeyY

Так -1 учитывается в сумме. Оно же прибавляется перед проверкой.

(08 Ноя '16, 06:35) AlexeyY

Следить за вопросом

По Email:

После авторизации вы сможете подписаться на любые обновления здесь

Основы Markdown

  • *italic* or _italic_
  • **bold** or __bold__
  • ссылка:[текст](http://url.com/ "заголовок")
  • изображение?![alt текст](/path/img.jpg "заголовок")
  • нумерованный список: 1. Foo 2. Bar
  • Для того чтобы добавить разрыв строки просто добавьте два пробела.
  • основные HTML тэги, также поддерживаются

Тэги:

×3,805
×542
×147
×135

Задан: 08 Ноя '16, 00:41

Просмотров: 304 раз

Отредактирован: 13 Сен, 16:33