Renvoyer un int à partir d'un calcul dans un String

jm2lrepresent Messages postés 5 Date d'inscription mercredi 7 avril 2010 Statut Membre Dernière intervention 10 décembre 2010 - 21 avril 2010 à 19:51
jm2lrepresent Messages postés 5 Date d'inscription mercredi 7 avril 2010 Statut Membre Dernière intervention 10 décembre 2010 - 21 avril 2010 à 23:29
Tout d'abord, bonjour à tous!

J'ai un petit problème que vous, ô grands java masters, pourrez sûrement résoudre!
Dans le cadre d'un projet, dont je vais vous éviter de vous narrer tous les détails les plus croustillants, j'ai le devoir de faire d'une chaîne de caractère un int...

En gros, j'ai un JButton vide, dans lequel je dois mettre le résultat d'un calcul effectué auparavant...

Voici un bout du mon code foireux :

JButton resultat1 = new JButton("");
if(chiffre0.getText() != "" && chiffre1.getText() != "" && operateur1.getText() != ""){
Integer s = new Integer(chiffre0.getText() + operateur1.getText() + chiffre1.getText());
result = s.intValue();
}
resultat1.setText(result);

J'obtiens les erreurs suivantes :
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "9+50"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:458)
at java.lang.Integer.(Integer.java:660)
...

Merci beaucoup de votre aide

3 réponses

tlaloctzin Messages postés 136 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 12 septembre 2013 3
21 avril 2010 à 20:09
Salut ,
regardes du coté de

Integer.parseInt("");


Il vaut mieu être riche et en bonne santé que pauvre et malade .
0
tlaloctzin Messages postés 136 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 12 septembre 2013 3
21 avril 2010 à 20:10
oups répondu un peu vite

Integer.valueOf("");

Il vaut mieu être riche et en bonne santé que pauvre et malade .
0
jm2lrepresent Messages postés 5 Date d'inscription mercredi 7 avril 2010 Statut Membre Dernière intervention 10 décembre 2010
21 avril 2010 à 23:29
Merci de cette réponse rapide

Toutefois, j'ai affaire à la même erreur que précédemment...

Voici mon code :

public int getResultat(){
int result = 0;
String string = "";
if(chiffre0.getText() != "" && chiffre1.getText() != "" && operateur1.getText() != ""){
try {
string += chiffre0.getText();
string += operateur1.getText();
string += chiffre1.getText();
result = Integer.valueOf(string);

}catch(NumberFormatException nfe) {
System.out.println(nfe.getMessage());
}
//result = Integer.valueOf((chiffre0.getText() + operateur1.getText() + chiffre1.getText()));
}
System.out.println(result); // Renvoie 0
System.out.println(chiffre0.getText()); // Renvoie 9
System.out.println(operateur1.getText()); // Renvoie +
System.out.println(chiffre1.getText()); // Renvoie 50
System.out.println(string); // Renvoie 9+50
return result; // Renvoie 0
}


Je comprends vraiment pas là...
Qu'est ce qui ne va pas dans mon code...?

Merci d'avance :)
0
Rejoignez-nous