1

我正在使用Java Stack,如下所示:

Stack<Integer> stack_y = new Stack<Integer>();

后来在某个时候,我使用了 push、peek 和 pop:

stack_y.push(1);   
//some code
peek_value=stack_y.peek();
//some code   
pop=stack_y.pop();

虽然push工作正常,但我收到以下错误popand peek

Exception in thread "main" java.util.EmptyStackException
    at java.util.Stack.peek(Unknown Source)
    at java.util.Stack.pop(Unknown Source)
    at Hw1Node.DFS(Hw1Node.java:246)

它还在我调用该函数的行的主函数中给出了一个错误。

4

1 回答 1

1

如果您检查EmptyStackException信息,您会看到“由Stack类中的方法抛出以指示堆栈为空”。

因此,当堆栈为空时,您正在尝试制作 a.pop()或 a 。peek()请记住,您只能为之前完成pop()的每个制作一个push()

于 2013-02-14T19:02:36.587 回答