В цикле запись HashMap строк из Сканера

127
30 июня 2021, 09:40

Сделать в цикле запись в HashMap строк из Сканера, пока пользователь не введет q. Ключем записи будет текущая дата, значение - текст из сканера. Проблемма в том что записуется только первая строка.

HashMap<String, Records> hm = new HashMap<>();
Scanner sc = new Scanner(System.in, "windows-1251");
Records rc = new Records(sc.nextLine());
String date = new Date().toString();
do {
        hm.put(date, rc);
} while (!sc.nextLine().equals("q"));
sc.close();
for (HashMap.Entry<String, Records> item : hm.entrySet()) {
    System.out.printf(
            "Key: %s  Value: %s \n", item.getKey(), item.getValue());
}
Answer 1
    while (true) {
       String s = sc.nextLine();
       if (s.equals("q"))
         break;
       hm.put(new Date(), new Records(s));
    }
READ ALSO
Блокировка выхода из приложения

Блокировка выхода из приложения

Производственная необходимость, чтобы опционально была возможность блокировки выхода из нашего приложения в системный лончер, systemUI(запрет...

112
Почему не работают сокеты? (Android)

Почему не работают сокеты? (Android)

При попытке создания сокета:

86
Узнать все доступные раскладки (языки) пользователя

Узнать все доступные раскладки (языки) пользователя

Есть способ узнать текущий язык системы пользователя через Locale, существует ли способ узнать все доступные раскладки (языки)? Пример для наглядности,...

81
двойная проверка в for

двойная проверка в for

Подскажите можно выполнить проверку так? Или нужно делать две разных?

89