Created
April 17, 2015 09:38
-
-
Save shcherbakoff/c5669d25b3fadcb0e611 to your computer and use it in GitHub Desktop.
package com.javarush.test.level10.lesson11.bonus02;
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.javarush.test.level10.lesson11.bonus02; | |
import java.io.*; | |
import java.util.HashMap; | |
import java.util.Map; | |
/* Нужно добавить в программу новую функциональность | |
Задача: Программа вводит с клавиатуры пару (число и строку) и выводит их на экран. | |
Новая задача: Программа вводит с клавиатуры пары (число и строку), сохраняет их в HashMap. | |
Пустая строка – конец ввода данных. Числа могу повторяться. Строки всегда уникальны. Введенные данные не должны потеряться! | |
Затем программа выводит содержание HashMap на экран. | |
Пример ввода: | |
1 | |
Мама | |
2 | |
Рама | |
1 | |
Мыла | |
Пример вывода: | |
1 Мама | |
2 Рама | |
1 Мыла | |
*/ | |
public class Solution | |
{ | |
public static void main(String[] args) throws IOException | |
{ | |
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); | |
HashMap<String, Integer> map = new HashMap<String, Integer>(); | |
/* можно не использовать метод equals() для проверки ввода одинаковых значений Key, | |
так как в ХэшМап Key всегда должен быть униклаьным, | |
и при попытке ввести одинковое значение выскакивает ошибка, которую можно обработать */ | |
while (true) | |
{ | |
try | |
{ | |
int id = Integer.parseInt(reader.readLine()); | |
String string = reader.readLine(); | |
map.put(string, id); | |
} | |
catch (NumberFormatException e) | |
{ | |
break; | |
} | |
} | |
for (Map.Entry<String, Integer> pair : map.entrySet()) | |
{ | |
System.out.println(pair.getValue() + " " + pair.getKey()); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment