אז ככה, יש לי תוכנית שאמורה לקבל הסתברות כלשהי (pError), ומספר עובדים (numOfEDW). אני צריך לוודא שמה שמזינים לחלונית בGUI הוא אכן מספר בין 0.1 ל0.9 (במקרה של pError) או בין 1 ל3 (במקרה של numOfEDW).הקלט נעשה לשדה JTextField שהוא מחזיר לי סטרינג ואני עושה לו parseDouble ושם תופס את האקספשן במקרה שזה לא תקין, ונותן לו ערך דיפולטיבי (0.2 לpError ו2 לnumOfEDW).
משום מה כשאני מכניס מספר שלם, זה לא נכנס לי לif statement. הנה חלק מהקוד:
pError = new JTextField(); pError.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //פה צריך לקלוט /להכניס את ה pError //אם הכניסו ערך לא תקין להסתברות לטעות של מתרגל נכניס ערך דיפולטיבי try { if(Double.parseDouble(pError.getText()) > 0.9 || Double.parseDouble(pError.getText()) < 0.1){ pError.setText("0.2"); } } catch (Exception e1) { pError.setText("0.2"); } } });
|
למישהו יש מושג למה זה לא מסתדר לי במקרה של הכנסת 10 לדוגמא? הוא מכניס לי בכל זאת 10 ולא מתייחס לif שלי.
