1

私は次のようにJavaスタックを使用しています:

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

そして後で、ある時点で、プッシュ、ピーク、およびポップを使用しています。

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

正常に動作している間push、次のエラーが発生しpopます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()1 つしか作成できないことに注意してください。pop()push()

于 2013-02-14T19:02:36.587 に答える