walkn
Messages postés96Date d'inscriptionsamedi 2 mai 2009StatutMembreDernière intervention23 avril 2011
-
1 juin 2010 à 12:48
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
1 juin 2010 à 17:39
Bonjour, j'ai ecrit deux methodes:
void add() { //permet l'addition des masses passagers arrieres.
double Res=0;
int quantiteAV = Integer.parseInt(jLabelQuantiteAV.getText());
int quantiteAR = Integer.parseInt(jLabelQuantiteAR.getText());
Res = quantiteAV + quantiteAR;
jLabelQuantiteL.setText(""+Res);
}
void masseCarburant(){
double Res = 0;
double d = 0.79;
double d1 = 0.71;
int nbLitres = Integer.parseInt(jLabelQuantiteL.getText());
switch (jComboBox.getSelectedIndex()){
case 1: Res = (int) (nbLitres * d); break;
case 2: Res = (int) (nbLitres * d); break;
case 3: Res = (int) (nbLitres * d); break;
case 4: Res = (int) (nbLitres * d); break;
case 5: Res = (int) (nbLitres * d); break;
case 6: Res = (int) (nbLitres * d); break;
case 7: Res = (int) (nbLitres * d); break;
case 8: Res = (int) (nbLitres * d); break;
case 9: Res = (int) (nbLitres * d); break;
case 11: Res = (int) (nbLitres * d1); break;
case 12: Res = (int) (nbLitres* d); break;
case 13: Res = (int) (nbLitres* d); break;
}
jLabelMasseCarburant.setText("" + Res);
}
Et dans l'action de mon bouton qui me permet d'ouvrir une nouvelle fenetre et de copier mes valeurs dans cette derniere j'ai mis:
if (jCheckBoxBiTurbine.isSelected()) {
int Res3;
double d = 0.79;
int nbLitres = Integer.parseInt(jLabelQuantiteL.getText());
int Res1 = 0;
int Res2 = 0;
int carbu1 = Integer.parseInt(jTextFieldCarbuAV.getText());
int carbu2 = Integer.parseInt(jTextFieldCarbuAR.getText());
double d10 = 7.3;
Res1 = (int) (carbu1 * d10);
Res2 = (int) (carbu2 * d10);
jLabelQuantiteAV.setText("" + Res1);
jLabelQuantiteAR.setText("" + Res2);
add();
Res3 = (int) (nbLitres * d);
jLabelMasseCarburant.setText("" + Res3);
nouvellefenetre.setLabelText26(jLabelQuantiteAR.getText());
nouvellefenetre.setLabelText27(jLabelQuantiteAV.getText());
nouvellefenetre.setLabelText28(jTextFieldCarbuAR.getText());
nouvellefenetre.setLabelText29(jTextFieldCarbuAV.getText());
nouvellefenetre.setLabelText31(jLabelMasseCarburant.getText());//recupere la masse carburant
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at monPackage2.Demarrage$10.actionPerformed(Demarrage.java:1290)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 1 juin 2010 à 12:54
Salut,
Tu essaye de parser une chaîne de caractère qui est vide, alors soit tu testes si la chaîne est vide avant de faire ton Integer.parseInt, soit tu gère l'exception par un bloc try catch.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 1 juin 2010 à 13:43
Salut,
Si tu regarde bien ta stacktrace, l'erreur concernant la ligne 1290de ta classe Demarrage :
monPackage2.Demarrage$10.actionPerformed(Demarrage.java:1290)
C'est donc à cette ligne là qu'il faut traîter l'erreur :
walkn
Messages postés96Date d'inscriptionsamedi 2 mai 2009StatutMembreDernière intervention23 avril 2011 1 juin 2010 à 14:10
D'accord je vois, je n'est plus d'erreur, mais lorsque je lance mon appli, je devrai avoir un resultat suite à l'operation, or nbLitres reste à 0, alors qu'il devrait prendre la valeur situe dans jLabelQuantiteL
Ce n'est pas la cas.
Je ne comprends pas.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 1 juin 2010 à 15:24
Salut,
S'il reste à 0, c'est qu'il y a une raison.
A la vue de ton instructions (Res3 = (int) (nbLitres * d); ), il y a plusieurs pistes :
soit nbLitres est égal à 0,
soit l'opération nbListres * d est < 1 (en ce cas là, le cast en int donne 0)
Mets un points d'arrêt dans ton code pour voir ce qui se passe.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 1 juin 2010 à 16:41
Salut,
Tu développe sous quel IDE ?
Un point d'arrêt (ou breakpoint) est la base de tout debogguage, ca consiste à interrompre l'exécution d'un code afin de pouvoir voir le contenu des variables, suivre l'évolution du code, modifier la valeur des variables, etc.
Sous eclipse (mais également dans la majorité des IDE), il te suffit de cliquer dans la colonne à droite du numéro de ligne, puis d'exécuter ton code en mode "Debug", et dès que ton programme exécutera la ligne en question, il arrêtera son exécution afin de te donner la main pour debugguer le code.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 1 juin 2010 à 17:39
Salut,
Et bien si tu mets ton point d'arrêt sur la ligne qui t'affiche toujours 0, tu peux voir quelles sont les valeurs des variables au moment du calcul, et en déduire ce qui ne fait pas ce qui est censé être fait.
______________________________________
AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement