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であると言うだけです-どんな助けもいただければ幸いです。