Java 反向堆栈返回一项

Java 反向堆栈返回一项,java,reference,linked-list,stack,reverse,Java,Reference,Linked List,Stack,Reverse,我有一个带有LinkedStack反向方法的通用LinkedStack类 它创建一个新的LinkedStack,比如newLinkedstack,并通过弹出当前堆栈来推送项目。因此,在操作结束时,当前堆栈保留为空,newLinkedStack包含与“this”堆栈中相同的项/元素,但顺序相反 我的代码可以编译,但当我创建并填充堆栈,然后打印出内容时, 我只得到一个结果 public LinkedStack<T> rev() { LinkedStack<T> revStac

我有一个带有LinkedStack反向方法的通用LinkedStack类 它创建一个新的LinkedStack,比如newLinkedstack,并通过弹出当前堆栈来推送项目。因此,在操作结束时,当前堆栈保留为空,newLinkedStack包含与“this”堆栈中相同的项/元素,但顺序相反

我的代码可以编译,但当我创建并填充堆栈,然后打印出内容时, 我只得到一个结果

public LinkedStack<T> rev()
{
LinkedStack<T> revStack=new LinkedStack<T>();
//final int SIZE=this.size();    
while(!(this.empty)){//for(int i=0;i<SIZE;i++)
{
  revStack.push(this.pop());
 } 
return revStack;
}
我有两个push方法,这个方法将每个元素从输入堆栈移动到当前堆栈,使输入堆栈从参数变为空

  public void push(LinkedStack<T> stack){ 
    //int SZE = stack.size();
    while(!(stack.empty())){//formally for(int i=0;i<SZE;i++){
        this.push(stack.pop());}}
公共无效推送(LinkedStack堆栈){
//int SZE=stack.size();

虽然(!(stack.empty()){//for(int i=0;i我不确定LinkedStack来自何处,但该错误似乎是由该类的实现引起的


如果需要更具体的帮助,您必须发布更多的源代码。

您必须展示push和pop的实现。如果需要,还必须展示其他方法。
public T pop()
{
    T element=peek();
    top=top.next;
    return element;
}
  public void push(LinkedStack<T> stack){ 
    //int SZE = stack.size();
    while(!(stack.empty())){//formally for(int i=0;i<SZE;i++){
        this.push(stack.pop());}}
public void push(T element)
{
   top=new Node<T>(item,top);
}