NumberFormatexception i Java

NumberFormatexception i Java
Utviklerne i Java trenger ofte å jobbe med flere slags data formatert annerledes. For eksempel å akkumulere tilfeldig genererte eller krypterte data i koden. I slike situasjoner, takler jeg “NumberFormatexception”I Java er hjelpende i å avstå fra begrensningene, og effektiviserer dermed kodefunksjonalitetene ved utviklerens slutt.

Denne bloggen vil utdype mot og takle “NumberFormatexception”I Java.

Hva er "NumberFormatexception" i Java?

NumberFormatexception”Tilsvarer et unntak i Java når et forsøk blir gjort for å transformere en streng som har et feil format til en numerisk verdi. Konverteringen gjøres via "parseint ()”Metode. Denne metoden henter den primitive datatypen av “Streng”.

Syntaks

parseint (x, y)

I denne syntaksen:

  • x”Refererer til strengrepresentasjonen av desimal.
  • y”Transformerer”x”Inn i et heltall.

Ideell sak

Følgende eksempel forklarer det ideelle saksscenariet for å transformere strengen til et heltall uten begrensninger:

int x = heltall.parseint ("30");
System.ute.println ("Heltallet er:"+x);

I koden ovenfor, bruk trinnene under leverte:

  • Først, spesifiser typen "Heltall”Der ønsket konvertering er nødvendig.
  • Nå, bruk “parseint ()”Metode for å analysere den spesifiserte strengen til et heltall.
  • Dette vil gi "heltall”Representasjon av den spesifiserte strengen.

Produksjon

I denne utgangen kan det observeres at "heltall”Representasjon av strengen hentes deretter.

Årsakene til den "nummerformatexception" i Java i Java

NumberFormatexception”I Java kan du oppstå av flere grunner. La oss gå gjennom hver av grunnene en etter en.

Tilfelle 1: tom inngangsstreng

I dette tilfellet kan det diskuterte unntaket bli møtt på grunn av en "tømme”Streng passerte som“parseint ()”Metodens parameter som må konverteres til et heltall:

int x = heltall.parseint ("");
System.ute.println (x);

Produksjon

Tilfelle 2: Nullinngangsstreng

I dette scenariet kan unntaket bli møtt på grunn av det spesifiserte “null”Nøkkelord som metodeparameter:

int x = heltall.parseint (null);
System.ute.println (x);

Produksjon

Merk: Unntakserklæringen er identisk i begge de ovennevnte tilfellene siden verdien som metodens parameter vurderes “null”.

Tilfelle 3: Inngangsstreng med flere symboler

Å inkludere ekstra symboler i strengen kan også resultere i det diskuterte unntaket, som følger:

System.ute.Println (heltall.parseint ("1,23"));

Produksjon

Sak 4: Ikke-numerisk inngangsstreng

En ikke-numerisk streng, jeg.e., “Trettifem”I dette tilfellet kan også forårsake“NumberFormatexception" å oppstå:

int x = heltall.parseint ("Trettifem");
System.ute.println (x);

Produksjon

Tilfelle 5: Inngangsstreng som overstiger området

Maksimal grense for “parseint ()”Metoden er å akkumulere”11" tegn. Området som overstiger dette tallet kan også vise den diskuterte feilen, som vendt nedenfor:

int x = heltall.parseint ("123452347684933");
System.ute.println (x);

Produksjon

Tilfelle 6: Inngangsstreng med alfanumeriske data

I denne situasjonen kan den uttalte begrensningen bli møtt på grunn av at de inneholdte alfabeter og tall samtidig blir transformert til et heltall:

int x = heltall.parseint ("Tretti 1");
System.ute.println (x);

Produksjon

Sak 7: Uoverensstemmende datatype

Misforholdet i “komme tilbake”Type og den spesifiserte”data-type”Kan også resultere i å møte den diskuterte begrensningen:

int x = heltall.parseint ("30.6 ");
System.ute.println (x);

Merk at i dette tilfellet er returtypen "Heltall,”Men den spesifiserte datatypen er“flyte", Jeg.e., 30.6.

Produksjon

Tilfelle 8: Input Streng med polstrede hvitespaser

De polstrede hvitespeddene i starten eller slutten kan også være en grunn til at en slik feil blir møtt:

int x = heltall.parseint ("30");
System.ute.println (x);

Produksjon

Dette handlet om den masse begrensningen i forskjellige scenarier. La oss nå diskutere tilnærmingen for å eliminere den diskuterte begrensningen.

Hvordan håndtere “Numberformatexception” i Java?

Det diskuterte “NumberFormatexception”Begrensning i Java kan imøtekommes ved bruk av“Prøv ... fangst”Uttalelse ved å fange opp unntaket i“å fange”Blokk:

prøv
int x = heltall.parseint ("30");
System.ute.println (x);

fangst (numberformatexception e)
System.ute.Println ("Unntak passet!");

System.ute.println ("gjenoppta utførelse ...");

I dette kodebiten, bruk følgende trinn:

  • Først, spesifiser "prøve”Blokk/uttalelse.
  • I denne blokken, inkluderer returtypen, i.e., “Heltall”Og bruk“parseint ()”Metode for å transformere den spesifiserte strengen til en“heltall”Og vis det.
  • Merk at flaskehalsen (e) møtte mens du utførte “prøve”Blokk kan bli møtt av“å fange”Blokk.
  • Det sannsynlige unntaket, jeg.e., “NumberFormatexception”Kan nå plasseres i“å fange”Blokk.
  • Innenfor denne blokken, vis den angitte meldingen i stedet for unntaket.
  • Ut av det "å fange”Blokk, vis den uttalte meldingen som indikerer at funksjonalitetene vil gjenoppta uavhengig av det oppståtte unntaket.

Produksjon

Fra dette utfallet kan det antydes at unntaket er taklet på riktig måte.

Konklusjon

NumberFormatexception”I Java blir møtt når det blir gjort et forsøk på å transformere en streng med feil format til et heltall. Dette unntaket kan være forårsaket på grunn av flere diskuterte årsaker, i.e., polstrede hvitespasninger i strengen, overskredet strenggrense, etc., og kan takles via “Prøv ... fangst”Uttalelser. Denne bloggen diskuterte tilnærmingene til å møte og takle “NumberFormatexception”I Java.