Задача: Программа вводит с клавиатуры пару (число и строку) и выводит их на экран. Новая задача: Программа вводит с клавиатуры пары (число и строку), сохраняет их в HashMap. Пустая строка – конец ввода данных. Числа могу повторяться. Строки всегда уникальны. Введенные данные не должны потеряться! Затем программа выводит содержание HashMap на экран.

public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); Map<string, integer=""> map = new HashMap<string, integer="">(); String name; String name2=null; int id; while(true) {

        name = reader.readLine();
        id = Integer.parseInt(reader.readLine());
        if(name=="" || name==name2)
        {
            for(Map.Entry<String, Integer> pair : map.entrySet() )
            {
            System.out.println(pair.getValue() + " " + pair.getKey());
        }
            break;
        }
        else
        {
            name2 = reader.readLine();
            map.put(name, id);
        }

    }

}

} }

задан 14 Окт '16, 13:13

Yolomiys's gravatar image

Yolomiys
344
одобрено: 100%

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

AndyRad's gravatar image

AndyRad
13.1k29

да все хорошо. Process finished with exit code 0

(14 Окт '16, 13:35) Yolomiys

В idea точно все норм? Вы программу то запускали? Я вот не вижу шансов у этого кода когда-либо завершится без ошибки

(14 Окт '16, 13:34) Yurets_Y

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


(name !=null || name != name) - эта строка настораживает, во первых пустая строка это "" а не null, во вторых что это за проверка name != name ? вы проверяете один и тот-же объект на идентичность самому себе, тут априори false не может быть. и в третьих, можно было бы просто создать бесконечный цикл, и выходить с него когда пользователь введет пустую строку, а здесь пустые данные ложатся в map а потом только завершается цикл.

ссылка

опубликован 14 Окт '16, 13:23

Yurets_Y's gravatar image

Yurets_Y
23914
одобрено: 21%

изменено 14 Окт '16, 13:26

изменил

(14 Окт '16, 13:28) Yolomiys

Ну попробуйте запустить и ввести данные. Вопрос о том почему не проходит тестирование отпадет :)

ссылка

опубликован 14 Окт '16, 13:50

buttluk's gravatar image

buttluk
7687
одобрено: 38%

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

По Email:

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

Основы Markdown

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

Тэги:

×439

Задан: 14 Окт '16, 13:13

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

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