digital-garden/archive/Я.Практикум/Полезное/Про Scanner.md

9 lines
1.1 KiB
Markdown
Raw Normal View History

2024-06-13 21:01:37 +03:00
Будьте внимательный и осторожны. Неочевидное поведение работы методов `Scanner`. Метод `nextInt()` считывает только числа, но строка введеная вами через консоль еще содержит символ перевода строки. Если вы используете сначала метод `nextInt()`, а потом где-нибудь вызываете метод `nextLine()`, то `nextLine()` не предложит вам ввести новую строку, он просто возьмет остаток строки от `nextInt()`, и это будет пустая строка (`""`).
Пример на скриншоте. Тут для демонстрации я после числа ввожу еще буквы. Вызов `nextLine()` не запросил от меня новый ввод, а просто взял остаток от первой строки.
Такое вот поведение у `Scanner`, учтите это.
![](Снимок%20экрана%202022-04-14%20в%2020.00.26.png)
---