Это древнейшая проблема java, связанная с буфером обмена
Суть проблемы в том, что после вызова nextInt / nextLong и любого другого числового next надо "сбросить" буфер холостым вызовом nextLine и следующие nextLine будут считывать то, что визуально идет подряд друг за другом
В общем nextLine следующий за nextInt(Long и т.д.) не считает то, что вы вводите следующей строкой после числа, он вернет пустую строку, а считает следующий за ним nextLine
Это вообще лоу проблема, проявляется только при консольном вводе.