Java 无参数反向队列

Java 无参数反向队列,java,stack,queue,reverse,Java,Stack,Queue,Reverse,如何在没有参数的情况下反转队列。我试图从方法中不存在的另一个队列复制元素,并反转这些元素。我有算法,但我不知道如何访问原始队列进行复制 public QueueInterface<T> reverseQueue() { // TODO 8 Queue<T> a = new Queue<T>(); Stack<T> b = new Stack<T>(); while(!a.isEmpty()){

如何在没有参数的情况下反转队列。我试图从方法中不存在的另一个队列复制元素,并反转这些元素。我有算法,但我不知道如何访问原始队列进行复制

public QueueInterface<T> reverseQueue() {
    // TODO 8
    Queue<T> a = new Queue<T>();
    Stack<T> b = new Stack<T>();
    while(!a.isEmpty()){
        b.push(a.dequeue());
    }
    while(!b.isEmpty()){
        a.enqueue(b.pop());
    }
    return a;
}
public QueueInterface reverseQueue(){
//待办事项8
队列a=新队列();
堆栈b=新堆栈();
而(!a.isEmpty()){
b、 推(a.出列());
}
而(!b.isEmpty()){
a、 排队(b.pop());
}
返回a;
}

所以我添加了这个条件,将元素添加到变量temp中,并通过递归循环运行它,但它会给出一条错误消息,如果队列为空,则会显示该消息,即NoTouchElementException。是否更容易创建另一个队列而不是临时队列,并将元素放在该队列或其他方式中

 public QueueInterface<T> reverseQueue() {
    T temp = null;
    Queue<T> a = new Queue<T>();
    if (temp == null) {
        temp = dequeue();
        a.enqueue(temp);
        reversed();
    }
public QueueInterface reverseQueue(){
温度=零;
队列a=新队列();
if(temp==null){
temp=dequeue();
a、 排队(临时);
反转();
}

如果要反转的队列没有作为参数传递,那么它很可能位于字段中,或者可能是通过方法调用获得的,对吗?我的意思是,它还会从哪里来?我不确定它不是字段,但我为队列创建了一个浅层副本。那时我可能没有正确地使用它。您设想我们如何回答这个问题?我们不知道知道你的问题的上下文,它在什么类,为什么没有参数,等等。根据给定的信息,我可以试着猜测它在一个名为
foobar
的字段中,但我很可能猜错了。Meh。我所看到的唯一一个例子是使用了一个更简单的参数,所以我想在没有参数的情况下完成它。所以你拍了你的小精灵的脚,现在想知道为什么会痛?