所以我正在编写一个函数来对某些数字/运算符执行分流码算法。问题是我在最后有一个循环,它将所有剩余的运算符添加到输出队列,但由于某种原因它们没有被添加。我已经测试了它并且程序进入循环,并且堆栈在进入循环之前有数字但它们从未被添加到队列中,堆栈在经过循环后也是空的,所以看起来运算符从堆栈中弹出但未添加到队列中。以下是相关的代码:
while(operatorStack.empty() != true)
{
System.out.println("Hello");
outputQueue.add(operatorStack.pop());
}
编辑:
我的堆栈和队列实现是:
Queue<Object> outputQueue = new LinkedList<Object>();
Stack<Character> operatorStack = new Stack<Character>();