私は3つのケースを使用している場所を作成しています。ケース1はデータを追加し、ケース2はポップし、ケース3は印刷します。Java Utilスタックの固定スタックサイズを作成する方法はありますか
選択肢1を入力してデータを追加すると、問題は解決します。私が出てpopingとき今、私は
java.util.EmptyStackException
を取得しています。どのようにそれから来る。
他の方法からスタックを作成している場合は問題ありません。
ここに私のコードです。新しいスタックオブジェクトが作成されます呼び出すすべてのためのよう
import java.util.Iterator;
import java.util.Scanner;
import java.util.Stack;
public class SolutionStack {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=0; i<n; i++){
int ch = sc.nextInt();
stackMethod(ch);
}
}
private static void stackMethod(int ch) {
// TODO Auto-generated method stub
Stack st = new Stack();
Scanner sc = new Scanner(System.in);
st.size();
System.out.println(st.size());
switch(ch){
case 1:
int num = sc.nextInt();
st.push(num);
break;
case 2:
st.pop();
break;
case 3 :
Iterator<Integer> iterator = st.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
}
なぜあなたは(https://docs.oracle.com/javase/7/docs/api/java/util/ [空]を使用していないだろうStack.html#empty())最初にテストするには? –
Javadocによれば、DequeはStackよりも優先されるべきです。 – Puce