Java - JFrame 中的计算器 - 除法不起作用?

Dan*_*299 1 java user-interface calculator division jframe

我使用 JFrame 用 java 制作了一个计算器,除了除法外,一切正常。这是计算答案并显示它的代码位:

public void actionPerformed(ActionEvent e) {
        try {
            num1 = Double.parseDouble(resultl.getText());
            num2 = Double.parseDouble(resultl.getText());
            if (oper.equals("+")) {
                answer = num1 + num2;
                resultm.setText("" + answer);
                resultl.setText("");
                resultr.setText("");
                oper = "";
                currentNuml = "";
                currentNumr = "";
            } else if (oper.equals("-")) {
                answer = num1 - num2;
                resultm.setText("" + answer);
                resultl.setText("");
                resultr.setText("");
                oper = "";
                currentNuml = "";
                currentNumr = "";   
            } else if (oper.equals("*")) {
                answer = num1 * num2;
                resultm.setText("" + answer);
                resultl.setText("");
                resultr.setText("");
                oper = "";
                currentNuml = "";
                currentNumr = "";
            } else if (oper.equals("/")) {
                answer = num1 / num2;
                resultm.setText("" + answer);
                resultl.setText("");
                resultr.setText("");
                oper = "";
                currentNuml = "";
                currentNumr = "";
            }
            } catch (NumberFormatException ex) {
                resultl.setText("Unexpected Error, try again.");
        }
    }
Run Code Online (Sandbox Code Playgroud)

我粘贴了生成比较答案的整个内容,但实际上除法位是问题所在。如果我对除法做任何事情,它总是只说答案是 1.0 - 任何帮助将不胜感激。

Rei*_*eus 5

您正在阅读相同的内容JTextFieldnum2因此值将相同。任何自double除都会产生1.0

num2 = Double.parseDouble(resultl.getText());
Run Code Online (Sandbox Code Playgroud)

你可能想要:

num2 = Double.parseDouble(result2.getText());
Run Code Online (Sandbox Code Playgroud)