For å bruke skannerklassen, må den importeres først. Etter det må et objekt instantieres fra det. Etter å ha brukt skannerobjektet, må det lukkes. Input Stream -objektet som representerer tastaturet er system.i. Skanneren har mange metoder. Bare de ofte brukte vil bli forklart i denne artikkelen.
Artikkelinnhold
Enkel bruk av skannerklassen
Følgende kode ber brukeren skrive inn en setning, og deretter viser den setningen:
Importer Java.util.Skanner;Den første linjen importerer skannerklassen. I hovedfunksjonen oppretter den første linjen et skannerobjekt ved hjelp av “Systemet.i ”objekt for tastaturet. Så snart skannerobjektet er opprettet, begynner det å vente på innspill. Neste linje skriver ut en uttalelse og ber brukeren skrive inn en setning. Linjen som følger i koden bruker NextLine () -metoden til skannerobjektet for å lese brukerens setning etter at han trykker på Enter. Linjen etter, i koden, trykker setningen i terminalvinduet. Den siste linjen lukker skannerobjektet.
Spytter inngangslinje i verdier
Følgende kode deler inn inngangslinjen i ord (symboler), ved å bruke rommet som avgrenser:
Importer Java.util.Skanner;hasNext () og neste () er to andre metoder for skannerobjektet. Når skannerobjektet leser en linje, holder den den. Neste () får tilgang til neste token (ord). hasnext () returnerer sant hvis det er noe annet symbol som ennå ikke er tilgjengelig.
Dessverre forventes det fortsatt at brukeren skriver inn innspill for splitting og re-displaying med denne koden. For å avslutte alt dette, trykk Ctrl+Z, og du bør være tilbake på ledeteksten.
I koden ovenfor skiller avgrenseren symboler i rommet. En annen karakter kan brukes. Følgende kode bruker komma. Ikke glem å trykke på Ctrl+Z for å avslutte løkken hvis du tester koden.
Importer Java.util.Skanner;Hvis du testet koden, ville du lagt merke til at mellomrom i symboler er inkludert som en del av symboler (utgang). Uttrykket, scanobj.bruktLimiter (“,”); Skrevet etter at inngangslinjen er lest; Det er det som gjør komma, avgrenseren.
Lesing og validering av primitive datatyper
NextBoolean () -metoden
I følgende kode forventes brukeren å skrive enten "ekte" eller "falsk" uten sitatene og deretter trykke på Enter -tasten hvis brukeren skriver noe annet, for eksempel "ja" eller "nei", vil en feilmelding være vist.
Importer Java.util.Skanner;Siden Java vil utstede en feilmelding så lenge inngangen ikke er sant eller usant nøyaktig, har "annet hvis" blitt brukt i stedet for "ellers".
Forskjellen mellom metodene, print og println, er at utskriften forventer inngangen på gjeldende linje, mens println forventer inngangen på neste linje.
NextByte () -metoden
Med ASCII -karaktersettet er en karakter en byte. Imidlertid, med noen østlige karaktersett, kan en karakter bestå av mer enn en byte. Uavhengig av karaktersettet, leser og validerer neste byte -metoden neste byte av inngangen. Følgende kode kan brukes til dette formålet:
Importer Java.util.Skanner;Hvis et tall større enn 127 eller et alfabetskarakter er lagt inn for denne koden, vil det bli utstedt en feilmelding.
NextInt () -metode
Neste heltalltoken som inngang kan også valideres og aksepteres. Følgende kode kan brukes:
Importer Java.util.Skanner;Ledende eller etterfølgende rom er fjernet. For denne koden vil enhver heltallverdi, inkludert verdier større enn 127, bli akseptert. Med disse NextXXX () -metodene, når valideringen mislykkes, er det utstedt en feilmelding.
NextBigInteger () -metoden
Det ser ut til at programvareingeniører aldri vil slutte å komme med nye ting. Et stort heltall er et heltall hvis verdi er mye større enn et heltall. Imidlertid, med Java, kan det leses på samme måte som heltallet. Følgende kode illustrerer dette:
Importer Java.util.Skanner;Legg merke til importuttalelsen, “Importer Java.matte.BigInteger; ”. Legg også merke til at den store heltallstypen er begynt med en store bokstav B og ikke en små bokstav B.
NextFloat () -metoden
Neste float -symbolet som en inngang kan også valideres og aksepteres. Følgende kode kan brukes:
Importer Java.util.Skanner;Et eksempel på et flottørnummer er 23.456. Ledende eller etterfølgende rom er fjernet.
NextDouble ()
Den neste dobbelttokenet som inngang kan også valideres og aksepteres. Følgende kode kan brukes:
Importer Java.util.Skanner;Et eksempel på et dobbelt tall er 23.456. Et dobbelt tall er forskjellig fra en flottør fordi det har mindre feilmargin. Ledende eller etterfølgende rom er fjernet.
NextLine () -metoden
Nextline () -metoden er for en streng. Hvis strengen er inngangslinjen fra tastaturet etter å ha trykket Enter, kan den ha Newline -tegnet, '\ n'. Følgende kode kan brukes:
Importer Java.util.Skanner;Legg merke til at strengtypen er startet med store bokstaver og ikke små bokstaver.
Nextline (), hasNext () og Next () -metodene har blitt brukt tidligere, i denne artikkelen. Skanneren har andre metoder og andre primitive datametoder - se senere.
Tilordne inngang til en variabel
Inngang kan tilordnes en variabel, som følgende kode viser:
Importer Java.util.Skanner;Konklusjon
Skanneren i Java er en klasse i Java.Utilpakke. Denne klassen tar sikte på å lese input fra en streng, tastatur, fil eller nettverksuttak. Denne artikkelen har hovedsakelig konsentrert seg om å lese innspill fra tastaturet og vise resultatet i terminalvinduet. Lignende ideer kan brukes til å lese innspill fra streng, fil eller nettverkskanal.
For å lese hele linjen med tastaturinngang, bruk NextLine () -metoden. Linjen som en streng kan deles inn i symboler, ved hjelp av HasNext () og Next () -metodene, og mens Loop. Standard avgrenser for splitting er plassen, men programmereren kan velge en annen avgrensning. Ikke glem å gjøre Ctrl+Z for å stoppe mens Loop, om nødvendig. Å fjerne ledende og etterfølgende rom kan gjøres ved hjelp av andre ordninger som ikke er adressert i denne artikkelen. Validering av symbolene kan også gjøres ved hjelp av andre ordninger som ikke er adressert i denne artikkelen.
Primitive verdier kan leses ved bruk av NextBoolean (), NextByte (), NextInt (), etc. Disse NextXXX () -metodene gjør validering, og fjerner også ledende og etterfølgende rom.
Java -skanneren har mange flere metoder. Den grunnleggende bruken av skanneren er imidlertid blitt forklart i denne artikkelen. Utvalget av et token gjøres faktisk ved hjelp av vanlige uttrykksteknikker. Bruken av vanlige uttrykksteknikker er diskusjon, for en annen gang.