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