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 2025

Video: Slik får du tilgang til gratis bilder 2025
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

Vis resultatene i forhold til et målområde i Excel-oversiktspanelet - dummies

Vis resultatene i forhold til et målområde i Excel-oversiktspanelet - dummies

Noen ganger trenger du målserier i Excel-oversikten og rapportene dine. I enkelte bedrifter er et mål ikke en verdi - det er en rekke verdier. Det vil si at målet er å holde seg innenfor et definert målområde. Tenk deg at du klarer en liten bedrift som selger esker med kjøtt. En del av jobben din er å ...

Slicer Tilpasninger for Slicers på Excel Dashboard - dummies

Slicer Tilpasninger for Slicers på Excel Dashboard - dummies

Hvis du skal bruke slicers på en Excel-dashbordet, bør du gjøre litt formatering for å få dine skiver til å passe til temaet og oppsettet på instrumentpanelet. Følgende diskusjon dekker noen formateringsjusteringer du kan gjøre til dine skiver. Størrelse og plassering av skiver En skiver oppfører seg som en standard Excel ...

Enkel statistikk i Excel Data Analyse - dummies

Enkel statistikk i Excel Data Analyse - dummies

Excel gir flere praktiske, brukervennlige verktøy for å analysere informasjon som du lagrer i et bord, inkludert noen raske og skitne statistiske verktøy. Se på følgende enkle bord. En enkel dagligvareliste. Et av de smaleste og raskeste verktøyene som Excel gir, er muligheten til enkelt å beregne summen, gjennomsnittet, antall, minimum og maksimum av ...

Redaktørens valg

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Bruk skjermfeltet til å modifisere QuickBooks 2012-rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2012-rapporter - dummies

Hvis du klikker Tilpass rapport- QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Slik bruker du QuickBooks for din hvite papir forretningsplan - dummies

Slik bruker du QuickBooks for din hvite papir forretningsplan - dummies

QuickBooks kan hjelpe deg skriv en hvit-papir forretningsplan. Folk skriver ofte en forretningsplan for hvitt papir når de vet at de trenger en strategisk plan, men ikke ønsker å ta de harde beslutningene som er nødvendige for en strategisk plan. Personen i denne konfronten skriver en lang hvit-papir forretningsplan for å camouflere den fraværende strategiske planen. ...

Redaktørens valg

Canon 60D elektronisk nivåfunksjon - dummies

Canon 60D elektronisk nivåfunksjon - dummies

Ikke hvert fotografi må være nivå med horisonten. Imidlertid lider mange typer bilder (landskap, bybilder og arkitektonisk fotografi) sterkt når kameraet er vippet. Den gammeldags løsningen for å utjevne kameraet ditt er å bruke et boble- eller åndnivå (funnet i fotobutikker) for å kontrollere kameraets justering med ...

Kamerainnstillingsdisplayet på et Canon EOS Rebel T3-serie Kamera-dummies

Kamerainnstillingsdisplayet på et Canon EOS Rebel T3-serie Kamera-dummies

På din Canon Rebel T3 eller T3i, kan du se en samling av tilleggsinnstillingsdata via kamerainnstillingsdisplayet. Denne skjermen er bare et informasjonsverktøy, men; Du kan ikke justere noen av de rapporterte innstillingene fra denne skjermen. For å vise skjermbildet Kamerainnstillinger på T3i, vis først innstillingsinnstillingene ...

Canon EOS 70D Kameraoppsett - dummies

Canon EOS 70D Kameraoppsett - dummies

Her er en oversikt over knappene, ringer og andre eksterne kontroller på Canon EOS 70D-kameraet ditt. Objektivet vist i de følgende figurene er Canon EF-S 18-135mm IS (bildestabiliseringsmodell) som selges med kameraet; Andre linser kan variere.