与堆栈问题中缀到后缀转换器(Problems with stack in an infix to p

2019-11-02 06:42发布

美好的一天! 我使用栈实现中缀到后缀转换器。 它的工作原理,当所述用户输入与没有括号中缀表达式; 但是,当一个括号存在,控制台说:

Exception in thread "main" StackEmptyException: Stack is empty.
    at ArrayStack.top(ArrayStack.java:85)
    at InfixToPostfix.convert(InfixToPostfix.java:54)
    at InfixToPostfix.main(InfixToPostfix.java:85)


我的问题是在执行等级(堆栈的顶部)。

Answer 1:

啊哈! 比较的最顶层级时,您需要“栈窥视” ..因为“顶”必须被弹出的元素了。

尝试stack.peek()或同等学历。 究竟是什么类和库是您使用,为堆栈? s[top]是无效的语法。

回到答案#1,我开始写一个peekRank()函数的你,想有一个与检查时堆栈是空的问题..但是,当我看到你有一个空的检查停止。

看来你没有偷看()荷兰国际集团正确的顶部,虽然。


[早些时候#2 - 不是问题]

你有没有考虑过的)处理? 你(代码似乎对堆栈空就可以了警惕。

[早些时候#1--不完全的问题]

把一个“整个表达式”伪标记栈处理的整个过程,所以你有一个非空栈,或尽管那里是没有周围的表达/附上令牌回答等级。



文章来源: Problems with stack in an infix to postfix converter