Dlaczego nextLine () zwraca pusty ciąg? [duplikować

To pytanie ma już odpowiedź tutaj:

Scanner pomija nextLine () po użyciu next () lub nextFoo ()? 15 odpowiedzi

Jest to prawdopodobnie jedna z najłatwiejszych rzeczy, ale nie widzę, co robię źle.

Moje dane wejściowe składają się z jednego pierwszego wiersza z liczbą (liczba wierszy do odczytania), wiązki wierszy z danymi i ostatniego wiersza tylko z \ n. Powinienem przetworzyć to wejście i po ostatnim wierszu popracować.

Mam następujące dane wejściowe:

5
test1
test2
test3
test4
test5
      /*this is a \n*/

I do odczytu wejścia mam ten kod.

int numberRegisters;
String line;

Scanner readInput = new Scanner(System.in);

numberRegisters = readInput.nextInt();

while (!(line = readInput.nextLine()).isEmpty()) {
    System.out.println(line + "<");
}

Moje pytanie brzmi: dlaczego nic nie drukuję? Program odczytuje pierwszy wiersz, a następnie nic nie robi.

questionAnswers(3)

yourAnswerToTheQuestion