我正在嘗試編寫一個程序來評估後綴表達式。我的想法是疊加操作數,然後在操作員出現時彈出必要的操作數。我試圖檢查輸入是操作數是操作符還是操作數,但是這個開始代碼的唯一「if」語句在||的第一個實例處返回「error:illegal start of expression」。我是否缺少轉義字符或其他東西?提前致謝。非法開始表達式java運算符
public class Evaluate{
char input[] = new char[50];
Stack operands = new Stack();
public string Evaulate(string input){
for (int k = 0; input[k] != null; k++){
char symb = input.charAt[k];
if (symb != (+ || - || * ||/|| $){
operands.push(symb);
}
}
}
}
不應該是'('+'||' - '||'*'||'/'||'$')'。但是你也不能這樣做。你必須每次比較一下'symb!='+'|| symb!='-'...' –
你需要把它們當作字符,而不是文字操作符。把它們全部放在單引號中。你需要對每一個進行不同的比較,就像@ redflar3所說的那樣。 –
你的代碼中有太多錯誤,你可以考慮閱讀一些Java的介紹。 – Roman