0
一切都在我的問題:) 我目前正在開發一個計算器,使用反向波蘭語法。 一切正常,除非StreamTokenizer
遇到類似354a
或1b
。我在這裏想要的是,StreamTokenizer
把它看作一個詞,而不是一個數字後面跟一個詞。這裏是我的代碼:如何使StreamTokenizer識別字符與數字混合爲詞
sT = new StreamTokenizer(f);
sT.resetSyntax();
sT.eolIsSignificant(false);
sT.wordChars('a', 'z');
sT.wordChars('A', 'Z');
sT.whitespaceChars(32, 32);
sT.parseNumbers();
while (sT.ttype != StreamTokenizer.TT_EOF){
int ttype = sT.ttype;
if (ttype == StreamTokenizer.TT_NUMBER) {
calc.empile(sT.nval);
}
else{
if (!calc.stack.isEmpty()) {
switch (ttype) {
case '+':
calc.plus();
break;
case '-':
calc.moins();
break;
case '*':
calc.mult();
break;
case '/':
calc.div();
break;
}
}
}
sT.nextToken();
}
非常感謝! 我很遺憾,很久以前,我在幾所學校的項目中面臨着壓力。 我已閱讀了這兩個主題,並意識到這個班有多糟糕^^ 這是一個嘗試使用它而不是掃描儀的錯誤,並且由於我的 工作在我的老師testSuite上進行了驗證,即使有上面詳述的錯誤,已決定放手^^ – 2013-05-21 13:09:29