Hvordan sikre at en inngang er et nummer i Java

Hvordan sikre at en inngang er et nummer i Java


Når du skriver Java-programmer er det uunngåelig ganger når du har å forholde seg til inngangen du har lite informasjon om. Hvis du har innspill gått inn i programmet, eller i en metode innen det, og du må sørge for at det er et nummer du kan bruke metoder for å tall wrapper klassene. Disse klassene gi metoder for analyse av strenger som nummertyper som kaster unntak dersom passert inngangen er ikke numerisk. Ved hjelp av disse metodene i forbindelse med prøve og fange blokker kan du finne ut hva slags inngangsverdien du har å gjøre med.

Bruksanvisning

1 Få en henvisning til inngangsverdien du ønsker å sjekke. Avhengig av programmet kan det hende du allerede har inngangs lagres som en variabel. Følgende eksempelkode oppretter en prøve streng variabel for å demonstrere teknikken:
String input = "9";

Denne variabelen lagrer nummer ni som en streng. Metodene for parsing nummertyper ta strengparametere så hvis dine innspill ikke blir lagret som en streng skape en streng å inkludere det som i følgende eksempel:
int myNumber = 6;
String input = "" + myNumber;

2 Lag en prøve kodeblokk for tall parsing prosessen. Skriv inn følgende omrisset av en prøve blokk:
try {
// Analysere her
}

Inne i denne blokken kan du plassere koden for å analysere dine innspill. Hvis du programmerer i et integrert utviklingsmiljø må du inkludere en prøve blokk eller antall parsing prosessen vil hindre programmet fra kompilering. Try-blokken er en måte å ivareta din søknad mot nummer format unntak.

3 Legg en catch-blokken i koden. Hvis koden inni prøve blokken ikke kaste et tallformat unntak, vil behandling hoppe umiddelbart til catch-blokken. Legg det etter forsøk blokken stenger som følger:
fangst (NumberFormatException NFE)
{System.out.println ( "Ikke et tall:" + nfe.getMessage ()); }

Hvis inngangen er ikke et tall innholdet i denne blokken vil utføre. For øyeblikket inneholder det en enkel utgang uttalelse til konsollen, men du kan legge til din egen behandling inne i blokken.

4 Forsøk på å analysere dine innspill som et tall. Tallet wrapper klasser lar deg analysere strenger som ulike numeriske typer inkludert heltall, dobbel presisjon, kort, lang og flyttall. Velg hvilken klasse som passer ditt program, og skriv det inn i prøve blokken. Følgende eksempelkode demonstrerer teknikken for heltall:
int inputNum = Integer.parseInt (input);
System.out.println ( "er et tall:" + inputNum);

Hvis inngangen er en rekke andre linje vil utføre og koden vil ignorere catch-blokken. Hvis inngangen er ikke et tall på linje etter parse forsøk vil ikke kjøre som behandling vil umiddelbart gå til catch-blokken.

5 Lagre Java-filer, kompilere og kjøre programmet. Test det ved å endre verdien av den opprinnelige inngangsvariabel som i følgende eksempel kode:
String input = "p";

Dette vil føre til at programmet for å kaste et unntak, og innholdet av fangsten blokken vil utføre. Innenfor prøve blokken taster inn koden du ønsker å kjøre når inngangen er et tall. Innenfor catch-blokken taster inn koden du ønsker å kjøre hvis det ikke er.

Hint

  • Hvis du ønsker å oppdage alle typer nummer kan du bruke flere analysevirksomhet én for hver wrapper klasse.
  • Hvis du er usikker på inndata i programmet må du teste den grundig.