Потому что в сканере после ввода String остается пустая строка, Решение ДВА
другой для String или прочитывать пустую строку например scanner.nexLine но это считается не читабельным, делать не рекомендую. Дополнение чтобы прочитать пустую строку scanner.nexLine можно делать проверку на NULL
Перенос строки в сканере остаётся после nextInt() и других методов next..., но не nextLine(). nextLine() считывает перенос строки из входящего потока.
В идее что-то намудрили с обёрткой System.in в консоли, из-за чего и Scanner и BufferedReader при чтении из консоли стали брать перенос строки отдельной пустой строкой. Наблюдается в майской идее, в апрельской все ок.