JOptionPane d'Entrée à l'int
Je suis en train de faire un JOptionPane obtenir une entrée et l'affecter à un int, mais je suis certains problèmes avec les types de variables.
Je suis en train d'essayer quelque chose comme ceci:
Int ans = (Integer) JOptionPane.showInputDialog(frame,
"Text",
JOptionPane.INFORMATION_MESSAGE,
null,
null,
"[sample text to help input]");
Mais je suis arriver:
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot
be cast to java.lang.Integer
Ce qui semble logique pourtant, je ne peux pas penser à une autre façon de faire ceci se produire.
Merci d'avance
OriginalL'auteur kxk | 2010-06-25
Vous devez vous connecter pour publier un commentaire.
Suffit d'utiliser:
Vous ne pouvez pas convertir un
String
à unint
, mais vous pouvez le convertir en utilisantInteger.parseInt(string)
.Si vous utilisez la forme correcte de
showinputdialog
vous n'aurez pas besoin de le faire. Mais, vous avez raison dans certains cas.Je vois, je le vois. Si je peut demander encore une chose, est-il possible, à l'aide d'une boucle, peut-être, pour vérifier si la donnée d'entrée est en fait un entier ou pas? Qqch comme: ... do { ans = JOptionPane.showInputDialog(...) } jusqu'ans = integer ?
Oh tant pis, je l'ai eu!
OriginalL'auteur jjnguy
Ce parce que les commentaires que l'utilisateur insère dans le
JOptionPane
est unString
et il est stocké et retourné comme unString
.Java ne peut pas convertir des entre des chaînes de caractères et le nombre par lui-même, vous devez utiliser des fonctions spécifiques, il suffit d'utiliser:
OriginalL'auteur Jack
Veuillez noter que Entier.parseInt jette un NumberFormatException si la chaîne ne contient pas analysables chaîne.
OriginalL'auteur Davy Meers
OriginalL'auteur MyStack
Maintenant votre
Int_firstnumber
contient la valeur entière deString_fristNumber
.espère que cela a aidé
OriginalL'auteur mubarak baloch