Hjem Personlig finansiering Slik får du tilgang til Java-skannerklassen - dummier

Slik får du tilgang til Java-skannerklassen - dummier

Innholdsfortegnelse:

Video: Slik får du tilgang til gratis bilder 2024

Video: Slik får du tilgang til gratis bilder 2024
Anonim

Til Java 1. 5 var det ikke lett å få tekstinngang fra brukeren i et konsollbasert Java-program. Men med Java 1. 5 ble en ny klasse - kalt Skanner - introdusert for å forenkle oppgaven med å få innspill fra brukeren. Her bruker du klassen Skanner for å få enkle inngangsverdier fra brukeren. Teknikkene som jeg presenterer her, brukes i mange av programmene som vises i resten av denne boken.

Hvis du bruker en eldre versjon av Java, bør du fortsatt lese dette, fordi mange programmer bruker klassen Skanner .

Det enkle programmet nedenfor bruker klassen Skanner for å lese en heltallverdi fra brukeren og viser deretter verdien tilbake til konsollen for å verifisere at programmet mottok verdien som er oppgitt av brukeren. Her er et eksempel på konsollvinduet for dette programmet:

Skriv inn et heltall: 5

Du skrev inn 5.

Programmet begynner med å vise meldingen Skriv inn et heltall: på første linje. Så venter det på at du skriver inn et nummer. Når du skriver inn et nummer (for eksempel 5) og trykker Enter-tasten, vises bekreftelsesmeldingen ( Du skrev 5 .) På den andre linjen.

importer java. util. Scanner; @@ RA1

offentlig klasse ScannerApp

{

statisk skanner sc = ny skanner (System. In); @@ ra6

statisk statisk tomrom (String [] args)

{

System. ute. skriv ut ("Skriv inn et heltall:"); @@ ra10

int x = sc. nextInt (); @@ ra11

System. ute. println ("Du skrev inn" + x + "."); @@ ra12

}

}

Importere skannerklassen i Java

Før du kan bruke klassen Skanner i et program, må du importere det. For å gjøre dette, kodes du en import setning i begynnelsen av programmet, før klassedeklarasjonen:

importer java. util. Scanner;

Merk at java og util ikke er aktivert, men Skanner er.

Hvis du bruker andre klasser i java. util -pakken, kan du importere hele pakken ved å kode import uttalelsen slik:

import java. util. *;

Deklarere og opprette et Scanner-objekt i Java

Før du kan bruke klassen Skanner for å lese innspill fra konsollen, må du deklarere en Skanner -variabel og opprette en forekomst av klassen Skanner . Du vil kanskje lage Skanneren -variabelen som en klassevariabel og opprette Skanneren -objektet i klassevariabelinitiatoren, som vist i linje 6 i programmet ovenfor:

statisk skanner sc = ny skanner (system. in);

På den måten kan du bruke variabelen sc i hvilken som helst metode i klassen.

For å lage en Skanner -objekt, bruker du nytt søkeordet etterfulgt av et anrop til Skanner klassekonstruksjonen. Merk at klassen Skanner krever en parameter som indikerer inngangsstrømmen som inngangen kommer fra. Du kan bruke System. i her for å angi standard tastaturkonsollinngang.

Få inntasting

For å lese en inngangsverdi fra brukeren, kan du bruke en av metodene i klassen Skanner som er oppført nedenfor. Som du kan se, har den primitive datatypen en egen metode.

Skanneklassemetoder som får inngangsverdier
Metode Forklaring
Boolean nextBoolean () Leser en boolean verdi fra brukeren.
byte nextByte () Leser en byte verdi fra brukeren.
double nextDouble () Leser en dobbel verdi fra brukeren.
float nextFloat () Leser en float verdi fra brukeren.
int nextInt () Leser en int verdi fra brukeren.
String nextLine () Leser en Streng verdi fra brukeren.
lenge nextLong () Leser en lang verdi fra brukeren.
kort nextShort () Leser en kort verdi fra brukeren.

Merk i den første kolonnen i tabellen at hver metodeoppføring begynner med typen av verdien som returneres av metoden. Metoden nextInt gir for eksempel en int -verdi. Vær også oppmerksom på at hver av metodene slutter med et tomt paranteser. Det betyr at disse metodene ikke krever parametere. Hvis en metode krever parametere, er parametrene oppført innenfor disse parentesene.

Fordi disse metodene leser en verdi fra brukeren og returnerer verdien, bruker du oftest dem i setninger som tilordner verdien til en variabel. Linje 11, for eksempel, leser en int og tilordner den til en variabel som heter x .

Når metoden nextInt utføres, venter programmet at brukeren skal skrive inn en verdi i konsollvinduet. For å la brukeren vite hvilken type innspill programmet forventer, bør du vanligvis ringe Systemet. ute. skriv ut metoden før du kaller en Skanner metode for å få innspill. Linje 10 ringer System. ute. skriv ut for å vise meldingen Skriv inn et heltall: på konsollen. På den måten vet brukeren at programmet venter på input.

Hvis brukeren skriver inn en verdi som ikke kan konverteres til riktig type, krasjer programmet, noe som betyr at det slutter abrupt. Når programmet krasjer, viser det en kryptisk feilmelding som angir hva som forårsaket feilen. Hvis du skriver inn tre i stedet for et faktisk tall, ser konsollvinduet seg slik ut:

Skriv inn et heltall: tre Unntak i tråd "main" java. util. InputMismatchException

på java. util. Scanner. throwFor (Scanner. java: 819)

på java. util. Scanner. neste (Scanner. java: 1431)

på java. util. Scanner. nextInt (Scanner. java: 2040)

på java. util. Scanner. nextInt (Scanner. java: 2000)

på ScannerApp.main (ScannerApp. java: 11)

Denne meldingen indikerer at et unntak kalt InputMismatchException har oppstått, noe som betyr at programmet ventet å se et heltall, men fikk noe annet i stedet. Hvis du ikke vet hvordan du skal sørge for unntak som disse, slik at programmet kan vise en vennligere melding og gi brukeren et annet skudd ved å skrive inn en korrekt verdi, må du passe på at hvis brukeren skriver feil data, programmet ditt krasjer ungracefully.

Du kan forhindre at nextInt og lignende metoder krasjer med feil inngangsdata ved først å bruke en av metodene som er oppført her for å teste neste inngang for å sikre at den er gyldig.

Skanneklassemetoder som kontrollerer for gyldige inngangsverdier
Metode Forklaring
Boolean hasNextBoolean () Returnerer true hvis den neste verdien som er oppgitt av brukeren, er en gyldig < boolean verdi. boolean hasNextByte ()
Returnerer true hvis den neste verdien oppgitt av brukeren er en gyldig byte verdi. boolean harNextDouble ()
Returnerer true hvis den neste verdien som er oppgitt av brukeren, er en gyldig dobbel verdi. boolean hasNextFloat ()
Returnerer true hvis den neste verdien som er oppgitt av brukeren, er en gyldig float verdi. boolean harNextInt ()
Returnerer true hvis den neste verdien oppgitt av brukeren er en gyldig int verdi. boolean hasNextLong ()
Returnerer true hvis den neste verdien som er oppgitt av brukeren, er en gyldig lang verdi. boolean hasNextShort ()
Returnerer true hvis den neste verdien oppgitt av brukeren er en gyldig kort verdi.
Slik får du tilgang til Java-skannerklassen - dummier

Redaktørens valg

Ved hjelp av farger og gradienter med HTML5 Canvas Tag - dummies

Ved hjelp av farger og gradienter med HTML5 Canvas Tag - dummies

Nesten alle operasjoner i HTML5 lerret funksjonen implementerer en fylle eller stroke stil. For å få mest mulig ut av lerretet, må du forstå hvordan de fungerer. De tre primære typene stiler du kan bruke på fyll og slag er farger, gradienter og mønstre. Bruke farger med HTML5 lerret-merket For å spesifisere en ...

Ved hjelp av HTML for å kode websidene dine - dummies

Ved hjelp av HTML for å kode websidene dine - dummies

HTML lar deg legge til beskrivende koder på web sidetekst, for å endre utseendet, eller opprette lister, tabeller, koblinger og så videre. HTML er designet for å være noe som mennesker kan lese og at maskiner kan behandle, en form for felles grunnlag for menneskelig kommunikasjon. Anta at du vil legge til fet skrift til et ord ...

Redaktørens valg

Slik skriver du Excel-formler og -funksjoner direkte i regnearkceller - dummier

Slik skriver du Excel-formler og -funksjoner direkte i regnearkceller - dummier

Kanskje den enkleste oppføringen Metoden er å skrive en formel direkte i en celle i et Excel-regneark. Skriv bare formler som ikke inneholder noen funksjoner, og trykk Enter-tasten for å fullføre oppføringen. Prøv dette enkle eksempelet: Klikk på en celle der formelen skal skrives inn. Skriv inn denne enkle matematikkbaserte formelen: = 6 + (9/5) ...

Hvordan du skriver inn lister og seriell data ved hjelp av AutoFill i Excel 2016 - dummies

Hvordan du skriver inn lister og seriell data ved hjelp av AutoFill i Excel 2016 - dummies

I Excel 2016, kan data som faller inn i kategorien "seriell" - månedens navn, ukedag og sammenhengende tall og datoer, for eksempel - skrives inn raskt med kommandoen AutoFill. Tro det eller ei, Excel gjenkjenner visse typer seriell data og går inn i den for deg som en del av AutoFill-funksjonen. ...

Hvordan du skriver inn en funksjon i Excel med funksjonskommandoen - dummies

Hvordan du skriver inn en funksjon i Excel med funksjonskommandoen - dummies

Hvis du er ikke kjent med hvordan en funksjon fungerer i Excel - kanskje du ikke engang er sikker på hvilken funksjon du vil bruke - du må bruke Formulas-fanens Innsett Funksjon-kommando for å finne funksjonen og deretter identifisere argumentene riktig. Hvis du vil bruke kommandoen Funksjonsveiviser på denne måten, følg ...

Redaktørens valg

ÅNdelig gjenoppretting: Den samaritanske kvinne ved brønndummene

ÅNdelig gjenoppretting: Den samaritanske kvinne ved brønndummene

Den samaritanske kvinnen ved brønnen er ingen engel. Blandet opp med en feil folkemengde, denne stakkars kvinnen fra Samaria har et godt rykte. Hun hadde vært gift fem ganger og bodde i synd med en mann som ikke var hennes ektemann. Gjennom hennes historie kommer leksjonen at folk ikke burde leve av kjønnslig glede. ...

Gjenoppleve den bibelske julehistorien - dummies

Gjenoppleve den bibelske julehistorien - dummies

I stedet for bare å vises på jorden en dag eller "stråle ned" bruk Trek-talk), sier Jesus at han har kommet inn i denne verden på de mest ortodokse måtene: fødsel. Jesu utseende på jorden er kjent som inkarnasjonen, eller hva Johannes-evangeliet kaller Jesus "blir kjøtt. "Interessant nok, skjønner John ikke hendelsene ...