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


    }
}