digital-garden/archive/Я.Практикум/Полезное/Про Scanner.md
2024-06-13 21:01:37 +03:00

1.1 KiB
Raw Blame History

Будьте внимательный и осторожны. Неочевидное поведение работы методов Scanner. Метод nextInt() считывает только числа, но строка введеная вами через консоль еще содержит символ перевода строки. Если вы используете сначала метод nextInt(), а потом где-нибудь вызываете метод nextLine(), то nextLine() не предложит вам ввести новую строку, он просто возьмет остаток строки от nextInt(), и это будет пустая строка ("").

Пример на скриншоте. Тут для демонстрации я после числа ввожу еще буквы. Вызов nextLine() не запросил от меня новый ввод, а просто взял остаток от первой строки.

Такое вот поведение у Scanner, учтите это.