Dlaczego nextLine () zwraca pusty ciąg? [duplikować
To pytanie ma już odpowiedź tutaj:
Scanner pomija nextLine () po użyciu next () lub nextFoo ()? 15 odpowiedziJest 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.