L'éclipse raconte que Lang et je ne peux pas trouver une solution
Exception dans le fil "Main" Java.Lang.NumberFormatxception: pour la chaîne d'entrée: "2463025552" à java.lang.numberformatException.forinPlustring (source inconnue) à java.lang.integer.parseint (source inconnue) à java.lang.integer.parseint (source inconnue) à Main.Main (Main.Java:31) P> blockQuote>
xxx pré> i Lire du fichier dans ce format noms-adresses, téléphone et annonce dans ArrayList mis pour téléphone, j'ai un problème p> p> p>
7 Réponses :
Integer.parseint jette une exception numériques si la chaîne transmise n'est pas une représentation valide d'un entier. Ici, vous essayez de passer 2463025552 strong> qui est Utilisez Long, P> long phone = Long.parseLong(s2[1].trim() )
2463025552 is a out of range for int data type, try giving lesser number. Also check if it is in correct number format (like no spaces etc)
C'est un numéro de téléphone donné, nous ne pouvons pas vraiment le changer, donc il convient à un int.
Le vrai problème est qu'un numéro de téléphone n'est pas un entier. C'est une chaîne code>. Vous ne devez pas la stocker comme un numéro, pour des raisons similaires au problème que vous rencontrez maintenant. Il en va de même pour les codes postaux, les numéros de jersey de l'équipe sportive et une foule d'autres "faux" chiffres. P>
+1 à Tom G, en utilisant long code> ou autre type numérique peut causer des problèmes à l'avenir.
Ceci est la réponse correcte. Et si le numéro de téléphone est 000-0001. Voulez-vous vraiment le stocker comme 1? Que montreriez-vous à l'utilisateur?
+1 Tom, accepté ... Mieux vaut mieux faire une corde que longue .. triste, je n'ai pas eu cette pensée en répondant: P,
Stagiaire la variable int to string?
Un entier 32 bits signé ne peut lire que jusqu'à 2 ^ 31. Vous devez utiliser un plus grand type de données. Long vous obtiendra jusqu'à 2 ^ 63. P>
integer.parseint (S2 [1] .trim ()); code> Voici votre problème. Donc, changez votre analyse entier code> à long code> p>
Je change d'entier à long et fonctionne parfaitement .. beaucoup de remerciements pour l'aide.
Changez votre type de données sur Long ou Bigint. Votre chaîne est trop longue puis int c'est pourquoi elle a une exception .. p>
La chose fondamentale est que, nous n'avons pas besoin d'un numéro de téléphone pour faire partie d'un calcul arithmétique comme addition, soustraction, etc. Nous pouvons donc le prendre en tant que chaîne en toute sécurité. P>