我在教自己的Java,而不是通常的「hello world!」我認爲最好是構建一個計算器應用程序,並在構建它時學習Java。如何在java代碼中使用parenetheses
我的問題是:我如何編程「(」和「)」括號鍵,以便我可以在我的計算器應用程序中使用它們。
一個典型的數字鍵(2)在我的應用程序是:
private void btnTwoActionPerformed(java.awt.event.ActionEvent evt) {
if (bFinish == false) {
String btnTwoText = txtDisplay.getText() + btnTwo.getText();
dObtainer = Double.parseDouble(btnTwoText);
txtDisplay.setText(btnTwoText);
} else {
txtDisplay.setText("");
String btnTwoText = txtDisplay.getText() + btnTwo.getText();
dObtainer = Double.parseDouble(btnTwoText);
txtDisplay.setText(btnTwoText);
bFinish = false;
}
}
一個典型的操作按鈕( - )在我的應用程序是:
private void btnMinusActionPerformed(java.awt.event.ActionEvent evt) {
String button_text = "-";
getOperator(button_text);
}
private void getOperator(String btnText) {
mathOperator = btnText.charAt(0);
dTotal1 = dTotal1 + dObtainer;
txtDisplay.setText("");
}
這是發生在什麼「等於「按鈕被按下。
private void btnEqualsActionPerformed(java.awt.event.ActionEvent evt) {
String sBuffer = "";
switch (mathOperator) {
case '+':
dResult = dTotal1 + dObtainer;
break;
case '-':
dResult = dTotal1 - dObtainer;
break;
case '/':
dResult = dTotal1/dObtainer;
break;
case '*':
dResult = dTotal1 * dObtainer;
break;
case '^':
dResult = Math.pow(dTotal1, dObtainer);
break;
case '(':
sBuffer = "(";
//dResult = dObtainer;
break;
}
mathOperator = '\0';
dTotal1 = 0;
dObtainer = 0;
DecimalFormat df = new DecimalFormat("#.########");
if(!"(".equals(sBuffer))
sBuffer = df.format(dResult);
if(!")".equals(sBuffer))
sBuffer = df.format(dResult);
sBuffer = sBuffer.replace(".0", "");
txtDisplay.setText(sBuffer);
bFinish = true;
}
你的代碼wi在目前的形式下永遠不能正常工作。把它全部扔掉,並查找遞歸下降表達式解析,或Dijkstra調車碼算法。 – EJP
對不起,但它的劑量。 – Simnix