/** Return the number of elements in the stack */
public int getSize() {
return size;
}
/** Return and remove the top element from the stack */
public int pop() {
return elements[--size];
}
for(int i = 0; i< stack.getSize();i++) {
System.out.println(stack.pop());
}
原因是,每次弹出一个元素后栈的长度就减少一。所以这样会让栈弹出的数量变少。因此先记录下栈的长度(深度),然后在进行遍历弹出。修改后如下
int stackSize = stack.getSize();
for(int i = 0; i< stackSize;i++) {
System.out.println(stack.pop());
}