當我嘗試測試這個;例如,如果我推4個元素,然後創建一個for循環:我的Stack類中的Pop或Push方法寫錯了嗎?
for(int i=0; i<=stack.size(); i++){
System.out.println(stack.pop());
}
它不輸出最後一個元素。這是我的流行方法的問題嗎?
public void push(E element){
top= new Node<E>(element,top);
size++;
}
public E pop(){
E popped;
if(this.isEmpty()){
throw new EmptyStackException();
}
popped=top.data;
this.setTop(top.next);
size--;
return popped;
}
我覺得你需要展示整個班級。使用'<='而不是'<'應該拋出異常。 –
您期望打印多少個元素?順便說一句,你迭代'stack.size()+ 1'次... –
請注意代碼更清楚 –