NumberFormatexception in Java

NumberFormatexception in Java
Gli sviluppatori di Java devono spesso lavorare con più tipi di dati formattati in modo diverso. Ad esempio, accumulare dati generati in modo casuale o crittografato nel codice. In tali situazioni, far fronte al "NumberFormatexception"In Java è assistito nel astenersi dalle limitazioni, semplificando così le funzionalità del codice alla fine dello sviluppatore.

Questo blog approfondirà e affronterà il "NumberFormatexception"In Java.

Cos'è "NumberFormatexception" in Java?

IL "NumberFormatexception"Corrisponde a un'eccezione in Java quando viene fatto un tentativo per trasformare una stringa con un formato errato in un valore numerico. La conversione viene eseguita tramite "parseint ()" metodo. Questo metodo prende il tipo di dati primitivi di "Corda".

Sintassi

parseint (x, y)

In questa sintassi:

  • "X"Si riferisce alla rappresentazione delle stringhe del decimale.
  • "y"Trasforma"X"In un numero intero.

Caso ideale

L'esempio seguente spiega lo scenario del caso ideale per trasformare la stringa in un numero intero senza limiti:

int x = intero.parseint ("30");
Sistema.fuori.println ("Il numero intero è:"+x);

Nel codice sopra, applicare i passaggi sotto forniti:

  • Innanzitutto, specificare il tipo "Numero intero"In cui è richiesta la conversione desiderata.
  • Ora, applica il "parseint ()"Metodo per analizzare la stringa specificata su un numero intero.
  • Questo darà il "numero intero"Rappresentazione della stringa specificata.

Produzione

In questo output, si può osservare che il "numero intero"La rappresentazione della stringa viene recuperata di conseguenza.

Motivi per il viso "NumberFormatexception" in Java

IL "NumberFormatexception"In Java può essere incontrato per molteplici motivi. Passiamo a ciascuno dei motivi per uno.

Caso 1: stringa di input vuota

In questo caso, l'eccezione discussa può essere affrontata a causa di un "vuoto"String è passato come"parseint ()"Il parametro del metodo che deve essere convertito in un numero intero:

int x = intero.parseint ("");
Sistema.fuori.println (x);

Produzione

Caso 2: stringa di input null

In questo scenario, l'eccezione può essere affrontata a causa del specificato "nullo"Parola chiave come parametro del metodo:

int x = intero.parseint (null);
Sistema.fuori.println (x);

Produzione

Nota: L'istruzione di eccezione è identica in entrambi i casi di cui sopra poiché è considerato il valore come parametro del metodo "nullo".

Caso 3: stringa di input con simboli aggiuntivi

Includere simboli extra nella stringa possono anche comportare l'eccezione discussa, come segue:

Sistema.fuori.println (intero.parseint ("1,23"));

Produzione

Caso 4: stringa di input non numerica

Una stringa non umerica, i.e., "Trentacinque"In questo caso può anche causare il"NumberFormatexception" verificare:

int x = intero.parseint ("trentacinque");
Sistema.fuori.println (x);

Produzione

Caso 5: stringa di input che supera l'intervallo

Il limite massimo per "parseint ()"Il metodo è accumulare"11" caratteri. L'intervallo che supera questo numero può anche visualizzare l'errore discusso, come di seguito:

int x = intero.parseint ("123452347684933");
Sistema.fuori.println (x);

Produzione

Caso 6: stringa di input con dati alfanumerici

In questa situazione, la limitazione dichiarata può essere affrontata a causa degli alfabeti e dei numeri contenuti simultaneamente trasformati in un numero intero:

int x = intero.parseint ("trenta 1");
Sistema.fuori.println (x);

Produzione

Caso 7: tipo di dati non corrispondenti

La mancata corrispondenza nel "ritorno"Tipo e specificato"tipo di dati"Può anche comportare l'incontro con la limitazione discussa:

int x = intero.parseint ("30.6 ");
Sistema.fuori.println (x);

Si noti che in questo caso, il tipo di ritorno è "Numero intero,"Ma il tipo di dati specificato è"galleggiante", io.e., 30.6.

Produzione

Caso 8: stringa di input con spazi bianchi imbottiti

Gli spazi bianchi imbottiti all'inizio o alla fine possono anche essere un motivo per cui un tale errore da affrontare:

int x = intero.parseint ("30");
Sistema.fuori.println (x);

Produzione

Questo riguardava la limitazione del viso in diversi scenari. Ora, discutiamo dell'approccio per eliminare la limitazione discussa.

Come gestire "numeraformatexception" in java?

Il discusso "NumberFormatexception"La limitazione in Java può essere soddisfatta usando il"prova a prendere"Dichiarazione catturando l'eccezione affrontata nel"presa"Blocco:

Tentativo
int x = intero.parseint ("30");
Sistema.fuori.println (x);

catch (numberformatexception e)
Sistema.fuori.println ("eccezione soddisfatta!");

Sistema.fuori.println ("riprendendo l'esecuzione ...");

In questo frammento di codice, applica i seguenti passaggi:

  • Innanzitutto, specificare il “Tentativo"Blocco/dichiarazione.
  • In questo blocco, includi il tipo di ritorno, i.e., "Numero intero"E applicare il"parseint ()"Metodo per trasformare la stringa specificata in un"numero intero"E visualizzalo.
  • Si noti che il collo di bottiglia (i) ha dovuto affrontare durante l'esecuzione del "Tentativo"Il blocco può essere affrontato dal"presa"Blocco.
  • La probabile eccezione, io.e., "NumberFormatexception"Ora può essere inserito in"presa"Blocco.
  • All'interno di questo blocco, visualizzare il messaggio dichiarato anziché l'eccezione affrontata.
  • Fuori da "presa"Blocca, visualizza il messaggio dichiarato che indica che le funzionalità riprenderanno indipendentemente dall'eccezione incontrata.

Produzione

Da questo risultato, si può implicare che l'eccezione è stata affrontata in modo appropriato.

Conclusione

IL "NumberFormatexception"In Java viene affrontato quando viene fatto un tentativo di trasformare una stringa con un formato errato in un numero intero. Questa eccezione può essere causata a causa di molteplici motivi discussi, io.e., spazi bianchi imbottiti nella stringa, limite di stringa superata, ecc., e può essere affrontato tramite "prova a prendere"Dichiarazioni. Questo blog ha discusso degli approcci per affrontare e far fronte al "NumberFormatexception"In Java.