Scanner nextLine () - methode

1. Overzicht

In deze korte tutorial zullen we kort kijken naar de nextLine () methode van java.util.Scanner les, natuurlijk met de focus om te leren hoe je het in de praktijk kunt gebruiken.

2. Scanner.nextLine ()

De nextLine () methode van de java.util.Scanner class scant vanaf de huidige positie totdat het een scheidingsteken vindt. De methode retourneert de Draad vanaf de huidige positie tot het einde van de regel.

Bijgevolg wordt na de bewerking de positie van de scanner ingesteld op het begin van de volgende regel die volgt op het scheidingsteken.

De methode doorzoekt de invoergegevens op zoek naar een lijnscheidingsteken. Het kan alle invoergegevens scannen op zoek naar de regel die moet worden overgeslagen als er geen lijnscheidingstekens zijn.

De handtekening van het nextLine () methode is:

openbare String nextLine ()

De methode heeft geen parameters. Het retourneert de huidige regel, exclusief een lijnscheidingsteken aan het einde.

Laten we eens kijken naar het gebruik ervan:

probeer (Scanner scanner = nieuwe scanner ("Scanner \ nTest \ n")) {assertEquals ("Scanner", scanner.nextLine ()); assertEquals ("Test", scanner.nextLine ()); }

Zoals we hebben gezien, retourneert de methode de invoer vanaf de huidige scannerpositie totdat het lijnscheidingsteken is gevonden:

probeer (Scanner scanner = nieuwe scanner ("Scanner \ n")) {scanner.useDelimiter (""); scanner.next (); assertEquals ("canner", scanner.nextLine ()); }

In het bovenstaande voorbeeld is de oproep naar De volgende() geeft terug ‘S ' en verplaatst de positie van de scanner waarnaar moet worden verwezen ‘C '.

Daarom, als we bellen nextLine () methode retourneert het de invoer van de huidige scannerpositie totdat het een lijnscheidingsteken vindt.

De nextLine () methode genereert twee soorten gecontroleerde uitzonderingen.

Ten eerste, als er geen lijnscheidingsteken wordt gevonden, gooit het NoSuchElementException:

@Test (verwacht = NoSuchElementException.class) public void whenReadingLines_thenThrowNoSuchElementException () {probeer (Scanner scanner = nieuwe Scanner ("")) {scanner.nextLine (); }}

Ten tweede gooit het IllegalStateException als de scanner gesloten is:

@Test (verwacht = IllegalStateException.class) public void whenReadingLines_thenThrowIllegalStateException () {Scanner scanner = nieuwe scanner (""); scanner.close (); scanner.nextLine (); }

3. Conclusie

In dit to-the-point artikel hebben we gekeken naar de nextLine () methode van Java's Scanner klasse.

Verder hebben we gekeken naar het gebruik ervan in een eenvoudig Java-programma. Ten slotte hebben we gekeken naar de uitzonderingen die worden veroorzaakt door de methode en de voorbeeldcode die deze illustreert.

Zoals altijd is de volledige broncode van de werkende voorbeelden beschikbaar op GitHub.