МОЁ РЕШЕНИЕ. ОСТАНОВКА ПРОЦЕСА ЧЕРЕЗ NullPointerException И ВЫВОД РЕЗУЛЬТАТА ЧЕРЕЗ CATCH:
package com.javarush.test.level10.lesson11.bonus02;
import java.io.*;
import java.util.HashMap;
/* Нужно добавить в программу новую функциональность
Задача: Программа вводит с клавиатуры пару (число и строку) и выводит их на экран.
Новая задача: Программа вводит с клавиатуры пары (число и строку), сохраняет их в 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<>();
int id;
String name = null;
try
{
for (int i = 0; i < 1; )
{
id = Integer.parseInt(reader.readLine());
for (int j = 0; j < 1;)
{
j++;
name = reader.readLine();
for (HashMap.Entry<String, Integer> key1 : map.entrySet())
{
String key2 = key1.getKey();
if (name.equals(key2))
{
System.out.println("Ещё раз: ");
j--;
//ЦИКЛ НЕ РАБОТАЕТ!!!!!!!!!!!!!!!!! МОЖЕТ, СДЕЛАТЬ ЧЕРЕЗ ОТДЕЛЬНЫЙ МЕТОД???
}
}
}
map.put(name, id);
System.out.println("Id = " + id + " Name = " + name);
}
}
catch (NumberFormatException e)
{
for (HashMap.Entry<String, Integer> pair : map.entrySet())
{
String key = pair.getKey(); //ключ
Integer value = pair.getValue(); //значение
System.out.println(value + " " + key);
}
}
}
}
ПРИНЯТОЕ РЕШЕНИЕ:
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));
Map<String, Integer> map = new HashMap<>();
while (true)
{
String id = reader.readLine();
if (id.isEmpty())
break;
int id2 = Integer.parseInt(id);
String name = reader.readLine();
map.put(name, id2);
}
for (Map.Entry<String, Integer> pair : map.entrySet())
{
System.out.println(pair.getValue() + " " + pair.getKey());
}
}
}
Leave A Comment