小编use*_*715的帖子

打印堆栈而不弹出元素java

对于一项任务,我必须编写一个打印堆栈的方法,这部分很简单

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

}
Run Code Online (Sandbox Code Playgroud)

问题是,在打印堆栈后,我的任务是打印堆栈上的底部元素,因为我在打印方法中使用了 s.pop() ,所以不再存在该元素。这是我用于打印底部元素的代码。

public void bottom(stack s)
{
  if(isEmpty())
   {
     System.out.println("Stack is empty");
   }
  else
   {
     System.out.println(stackArray[0]);
   }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:我应该如何修改打印方法,这样我就不必从堆栈中弹出元素?或者是否有另一种方法可以使堆栈在使用 print 方法后仍然保存我的元素?

根据要求,这是我们在课程中使用的堆栈(大部分是荷兰语):

public class MyStack
{
    protected Object[ ] stackArray;
    protected int top;
    private int grootte;
    private static final int DEFAULT_GROOTTE = 10;

    public MyStack( )
    {
        grootte = DEFAULT_GROOTTE;
        stackArray = new Object[grootte];
        top = 0;
    }

    public boolean isEmpty( )
    {
        if (top == 0) …
Run Code Online (Sandbox Code Playgroud)

java printing stack

2
推荐指数
1
解决办法
4万
查看次数

标签 统计

java ×1

printing ×1

stack ×1