我用 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.");
}
}
我粘贴了生成比较答案的整个内容,但实际上除法位是问题所在。如果我做任何与除法有关的事情,它总是只说答案是 1.0 - 任何帮助将不胜感激。
最佳答案
您正在从相同的 JTextField
读取 num2
,因此值将相同。任何 double
除以自身将产生 1.0
。
num2 = Double.parseDouble(resultl.getText());
你可能想要:
num2 = Double.parseDouble(result2.getText());
关于Java - JFrame 中的计算器 - 除法不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14004870/