-1
我在嘗試將表達式更改爲前綴表示法。我能夠找出後綴符號,我想知道是否可以在創建我的前綴類時使用我的後綴類的基本模板。我想要表達式如... (6 *(24 + 81))並且輸出:* 6 + 24 81.這可能沒有跟蹤關卡嗎?......這意味着我需要一個跟蹤變量,當我的循環進入表達式的括號部分?我只是很難想象結構如何工作。創建前綴表示法表達式
這裏是我的後綴代碼:
static Stack operatorStack = new Stack();
String ConvertToPostfix(String exp) {
exp = "("+exp+")";
int i;
char token;
String output = "";
for (i = 0; i < exp.length(); i++) {
token = exp.charAt(i);
if (Character.isLetterOrDigit(token) == true)
output += token;
else if (token == '(')
operatorStack.push(token);
else if (token == ')') {
char topChar;
while ((topChar = peekAtTop()) != '(') {
output += topChar;
popAtTop();
}
operatorStack.pop();
}
else {
while (priority(token) <= priority(peekAtTop())) {
output += peekAtTop();
popAtTop();
}
operatorStack.push(token);
}
}
return output;
}