Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

java.util.Scanner er nyttig for å lese inn input av ulike typer enkle verdier, som tekstlinker, heltall og desimaltall, logiske verdier, osv.

 

Når en lager enkle, interaktive programmer har en ofte behov for å lese inn linjer med tekst og konvertere deler av teksten til ulike typer tall, logiske verdier osv. Dette er et eksempel på det som kalles parsing, dvs. oppstykking av tekst i deler og tolkning av delene. For enkel input er Scanner-klassen veldig hendig, siden den håndterer både oppstykking av teksten i deler og konvertering til de vanligste datatypene.

En Scanner instansieres ved å gi den en InputStream (f.eks. System.in), String eller File, som argument:

Code Block
languagejava
Scanner scanner = new Scanner(System.in);

Dette betyr at du kan bruke den til å lese tekst fra andre tekstkilder også, men fokuset her er input fra brukeren.

Når Scanner'en er instansiert kan du gjøre essensielt to ting: 1) spørre om det venter input av en bestemt type, f.eks. linje, tall eller logisk verdi, eller 2) lese input av en bestemt type. Metoder av den første typen begynner med hasNext med typen data som endelse, f.eks. hasNextLine, hasNextInt, hasNextBoolean, osv. Metoder av den andre typen begynner med next med typen data som endelse, f.eks. nextLine, nextInt, nextBoolean, osv.