МОЁ РЕШЕНИЕ. ОСТАНОВКА ПРОЦЕСА ЧЕРЕЗ 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