NumberFormatexception en Java

NumberFormatexception en Java
Les développeurs de Java ont souvent besoin de travailler avec plusieurs types de données formatées différemment. Par exemple, accumuler des données générées ou chiffrées au hasard dans le code. Dans de telles situations, faire face au «NumberFormatexception"En Java, aide à s'abstenir des limites, rationalisant ainsi les fonctionnalités du code à la fin du développeur.

Ce blog va développer et faire face au «NumberFormatexception"En Java.

Qu'est-ce que «NumberFormatexception» dans Java?

Le "NumberFormatexception»Correspond à une exception en Java lorsqu'une tentative est effectuée pour transformer une chaîne ayant un format incorrect en une valeur numérique. La conversion se fait via le «parseInt ()" méthode. Cette méthode récupère le type de données primitif du «Chaîne".

Syntaxe

Parseint (x, y)

Dans cette syntaxe:

  • "X”Fait référence à la représentation des cordes de décimal.
  • "y" se transforme "X«Dans un entier.

Cas idéal

L'exemple suivant explique le scénario de cas idéal pour transformer la chaîne en un entier sans limites:

int x = entier.Parseint ("30");
Système.dehors.println ("L'entier est:" + x);

Dans le code ci-dessus, appliquez les étapes ci-dessous:

  • Tout d'abord, spécifiez le type "Entier«Dans lequel la conversion souhaitée est requise.
  • Maintenant, appliquez le «parseInt ()”Méthode pour analyser la chaîne spécifiée à un entier.
  • Cela donnera le «entier”Représentation de la chaîne spécifiée.

Sortir

Dans cette sortie, on peut observer que le «entier«La représentation de la chaîne est récupérée en conséquence.

Raisons de la «NumberFormatexception» face à face en Java

Le "NumberFormatexception"En Java peut être rencontré pour plusieurs raisons. Passons par chacune des raisons.

Cas 1: chaîne d'entrée vide

Dans ce cas, l'exception discutée peut être confrontée à un ««vide”String est passé comme le"parseInt ()«Paramètre de la méthode qui doit être converti en entier:

int x = entier.ParseInt ("");
Système.dehors.println (x);

Sortir

Cas 2: chaîne d'entrée nul

Dans ce scénario, l'exception peut être confrontée à la spécification «nul”Mot-clé comme paramètre de méthode:

int x = entier.Parseint (null);
Système.dehors.println (x);

Sortir

Note: L'énoncé d'exception est identique dans les deux cas ci-dessus, car la valeur en tant que paramètre de la méthode est considérée comme «nul".

Cas 3: chaîne d'entrée avec symboles supplémentaires

L'inclusion de symboles supplémentaires dans la chaîne peut également entraîner l'exception discutée, comme suit:

Système.dehors.println (entier.parseInt ("1,23"));

Sortir

Cas 4: chaîne d'entrée non numérique

Une chaîne non numerique, je.e., "Trente cinq«Dans ce cas, peut également provoquer le«NumberFormatexception" arriver:

int x = entier.Parseint ("Trente-cinq");
Système.dehors.println (x);

Sortir

Cas 5: chaîne d'entrée dépassant la plage

La limite maximale pour le «parseInt ()"La méthode consiste à accumuler"11" personnages. La plage dépassant ce numéro peut également afficher l'erreur discutée, comme le fait ci-dessous:

int x = entier.Parseint ("123452347684933");
Système.dehors.println (x);

Sortir

Cas 6: chaîne d'entrée avec des données alphanumériques

Dans cette situation, la limitation indiquée peut être confrontée en raison des alphabets et des nombres contenus qui se transforment simultanément en entier:

int x = entier.Parseint ("Trente 1");
Système.dehors.println (x);

Sortir

Cas 7: Type de données incompatibles

L'inadéquation dans le «retour"Type et le spécifié"Type de données«Peut également entraîner la rencontre de la limitation discutée:

int x = entier.Parseint ("30.6 ");
Système.dehors.println (x);

Notez que dans ce cas, le type de retour est «Entier,"Mais le type de données spécifié est"flotter", je.e., 30.6.

Sortir

Cas 8: chaîne d'entrée avec des espaces rembourrés

Les espaces blancs rembourrés au début ou à la fin peuvent également être une raison pour une telle erreur à faire face:

int x = entier.Parseint ("30");
Système.dehors.println (x);

Sortir

Il s'agissait de la limitation visée dans différents scénarios. Maintenant, discutons de l'approche pour éliminer la limitation discutée.

Comment gérer «NumberFormatexception» dans Java?

Les discutés «NumberFormatexception«La limitation de Java peut être traitée en utilisant le«Essayez… attraper»Déclaration en attrapant l'exception face dans le«attraper" bloc:

essayer
int x = entier.Parseint ("30");
Système.dehors.println (x);

catch (NumberFormatexception e)
Système.dehors.println ("Exception traitée!");

Système.dehors.println ("Resuming Execution…");

Dans cet extrait de code, appliquez les étapes suivantes:

  • Tout d'abord, spécifiez le «essayer”Bloc / déclaration.
  • Dans ce bloc, incluez le type de retour, je.e., "Entier»Et appliquez le«parseInt ()«Méthode pour transformer la chaîne spécifiée en un«entier»Et affichez-le.
  • Notez que le (s) goulot d'étranglement a été confronté lors de l'exécution du «essayer«Le bloc peut être confronté par le«attraper" bloc.
  • L'exception probable, je.e., "NumberFormatexception«Peut maintenant être placé dans le«attraper" bloc.
  • Dans ce bloc, affichez le message déclaré au lieu de l'exception face à face.
  • Hors de "attraper”Bloc, affichez le message indiqué indiquant que les fonctionnalités reprendront quelle que soit l'exception rencontrée.

Sortir

De ce résultat, il peut être laissé entendre que l'exception a été fait face de manière appropriée.

Conclusion

Le "NumberFormatexception"En Java est confronté lorsqu'une tentative est faite pour transformer une chaîne avec un format incorrect en entier. Cette exception peut être causée pour plusieurs raisons discutées, je.e., Les espaces blancs rembourrés dans la chaîne, dépassent la limite de chaîne, etc., et peut être fait face via le «Essayez… attraper»Déclarations. Ce blog a discuté des approches pour faire face et faire face au «NumberFormatexception"En Java.