如何删除并打印IntStack对象中的每个项目,直到它为空?

时间:2016-09-20 03:15:54

标签: java stack push pop peek

我无法弄清楚如何删除和打印IntStack对象中的每个项目,直到它为空。我需要使用if语句吗?我知道堆栈的基础知识,例如: 假设s引用了一个IntStack对象。

如果我想将值100添加到s的顶部,我只需使用s.push(100)

如果我想删除并打印s的最高值,我会使用s.pop()

如果我想打印顶部值而不删除它,我会使用s.peek()

一旦我尝试移除并打印s中的每个项目,直到它为空,我遇到了麻烦。

2 个答案:

答案 0 :(得分:1)

即使InStack是某个第三方堆栈,根据相关描述,它实现了所有标准堆栈方法,因此以下应该可以工作。

public void print(Stack s)
{
   while(!s.isEmpty())
   {
       System.out.println(s.pop());
   }

}

答案 1 :(得分:-1)

当堆栈中没有任何内容时,s.peek()将返回null

while(s.peek() != null){
    System.out.println(s.pop());
}