Bonjour,

Je me présente brièvement vus que je suis nouveau ici, alors voila je m'appelle Bazin Jérémy, 18 ans et en terminal en section science informatique.

Je vous exposes mon problème :
Je débute en Java et je me suis lancé dans un petit programme qui permet de résoudre des équations du seconds degrés, mais aussi et quant même celle du premier degré.
Mon programme va très bien, sauf lorsque l'on ne rentre pas de variable, là c'est le gros bug ! C'est noël dans éclipses avec toutes les erreurs qui s'affichent !
Donc j'aurais aimé savoir s'il était possible de soit mettre une variable par défaut, mais que l'on ne peut pas voir ( et donc que l'on ne peut pas effacer pour de nouveau ne plus avoir de variable ), ou comment faire un "if" sans avoir quelque chose dans ma variable

Bon voila mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.NumberFormat;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JOptionPane;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
 
 
 
public class Fenetre extends JFrame {
 
		private JMenuBar menuBar = new JMenuBar();
		private JMenu test1 = new JMenu("Fichier");
        private JPanel container = new JPanel();
        private JFormattedTextField jtf = new JFormattedTextField(NumberFormat.getIntegerInstance());
        private JFormattedTextField jtf2 = new JFormattedTextField(NumberFormat.getIntegerInstance());
        private JFormattedTextField jtf3 = new JFormattedTextField(NumberFormat.getIntegerInstance());
        private JLabel label = new JLabel("<html><center><i> Veuillez entrer une Equation du second degré ci-dessous :</i><br>"+"<br><br><br></center></html>");
        private JLabel labe2 = new JLabel("x² + ");
        private JLabel labe3 = new JLabel("x + ");
        private JLabel labe4 = new JLabel(" = 0");
        private JLabel labe5 = new JLabel("");
        private JLabel labe6 = new JLabel("<html><center><br><br><br>Réponse :<br><br>"+"</center></html>");
        private JButton b = new JButton ("Calculer");
    	private JMenuItem item2 = new JMenuItem("Quitter");
 
        public Fenetre(){
 
        this.setTitle("::Equation facile::");
        this.setSize(426, 390);
        this.setResizable(false);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
		item2.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0) {
				System.exit(0);
			}
		});
			this.test1.add(item2);
			this.menuBar.add(test1);
			this.setJMenuBar(menuBar);
 
 
 
        container.setBackground(Color.black);
        container.setLayout(new BorderLayout());
 
        JPanel top = new JPanel();        
 
        Font police = new Font("Arial", Font.ITALIC, 14);
        jtf.setFont(police);
        jtf.setPreferredSize(new Dimension(80, 30));
        jtf.setForeground(Color.black);
        jtf2.setFont(police);
		jtf2.setPreferredSize(new Dimension(80, 30));
		jtf2.setForeground(Color.black);
        jtf3.setFont(police);
		jtf3.setPreferredSize(new Dimension(80, 30));
		jtf3.setForeground(Color.black);
 
        b.addActionListener(new BoutonListener());
 
        top.add(label);
        top.add(jtf);
        top.add(labe2);
        top.add(jtf2);
        top.add(labe3);
        top.add(jtf3);
        top.add(labe4);
        top.add(b);
        top.add(labe5);
        top.add(labe6);
 
        this.setUndecorated(false);
        this.setContentPane(top);
        this.setVisible(true);            
        }       
 
        class BoutonListener implements ActionListener{
 
                public void actionPerformed(ActionEvent e) {
 
 
                   	int result = Integer.valueOf(jtf2.getText())*Integer.valueOf(jtf2.getText());
                	result = (result) - 4*(Integer.valueOf(jtf.getText()))*(Integer.valueOf(jtf3.getText()));
                		      //4               2                                   0
 
                	if(result < 0){
                		labe5.setText("<html><center><br><br><br>Le delta est négatif, il n'y à alors pas de racine<br><font color=\"#C0C0C0\">_______________________________________________________________________________________________________________________________</font>");
            			labe6.setText("");
                	}
 
                	else if(result > 0 && (Integer.valueOf(jtf.getText())!= 0) && (Integer.valueOf(jtf2.getText())!= 0)){
                			double racine = Math.sqrt(result);
                			double result1 = ((Integer.valueOf(jtf2.getText())*-1)+ racine) / (2*Integer.valueOf(jtf.getText()));
                			double result2 = ((Integer.valueOf(jtf2.getText())*-1)- racine) / (2*Integer.valueOf(jtf.getText()));
                			labe5.setText("<html><center><br><br><br>Le deltat est :<br><font color=\"#C0C0C0\">_______________________________________________________________________________________________________________________________</font><br><font color=\"#00669\">"+result+"</font><br>--------------<br><br>Les racines sont :<br><font color=\"#C0C0C0\">_______________________________________________________________________________________________________________________________</font><br><font color=\"#CC0000\">"+result1+"<br> et  <br>"+result2+"</font><br>--------------</center></html>");
                			labe6.setText("");
                		}
                		else if(result == 0 && (Integer.valueOf(jtf.getText())!= 0)&& (Integer.valueOf(jtf2.getText())!= 0)){
                			double result3 = (Float.valueOf(jtf2.getText())*-1) / (2*Float.valueOf(jtf.getText()));
                			labe5.setText("<html><center><br><br><br>Le deltat est :<br><font color=\"#C0C0C0\">_______________________________________________________________________________________________________________________________</font><br><font color=\"#00669\">"+result+"</font><br>--------------<br><br>La racine est :<br><font color=\"#C0C0C0\">_______________________________________________________________________________________________________________________________</font><br><font color=\"#CC0000\">"+result3+"</font><br>--------------</center></html>");
                			labe6.setText("");
                		}
                		else if((Integer.valueOf(jtf.getText())== 0) && (Integer.valueOf(jtf2.getText())!= 0)){
                			double result3 = (Float.valueOf(jtf3.getText())*-1) / (Float.valueOf(jtf2.getText()));
                			labe5.setText("<html><center><br><br><br>Equation du premier degré<br><font color=\"#C0C0C0\">_______________________________________________________________________________________________________________________________</font>"+"<br>La racine est :<br><font color=\"#C0C0C0\">_______________________________________________________________________________________________________________________________</font><br><font color=\"#CC0000\">"+result3+"</font><br>--------------</center></html>");
                			labe6.setText("");
                		}
                		else{
                			JOptionPane.showMessageDialog(null, "Impossible, veuillez rentrer une equation correcte", "Reponse", JOptionPane.INFORMATION_MESSAGE);
                		}
 
 
        }
    }
}
Voilà, je vous remercie d'avance.

Cordialement Bazin (Im-rainmaker) Jérémy