public class Rpie {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String rpie = input.nextLine();
StringTokenizer string = new StringTokenizer(rpie);
Stack<String> stack = new Stack<String>();
while (string.hasMoreTokens()) {
String tkn = string.nextToken();
if (tkn.equals("+") || tkn.equals("-") || tkn.equals("*")
|| tkn.equals("/")) {
stack.push(tkn);
}
}
System.out.println(stack);
}
}
爲什麼堆棧在讀取+, - ,*或/?時不會推送字符串?爲什麼堆棧沒有推動?
它輸出一個空的堆棧。
向我們顯示您的輸入。 – MarsAtomic 2014-10-17 21:39:48
我建議你在你的循環打印信息開始 - 例如 '如果(...){'' 的System.out.println( 「獲得」 + TKN);' 'stack.push(TKN );' 或類似的東西。通過這種方式,您可以更好地瞭解可能會導致問題的原因......如果您需要更多幫助,請發佈結果 – Hagai 2014-10-17 21:40:49