Java 关于如何编写凹凸方法的示例

Java 关于如何编写凹凸方法的示例,java,queue,Java,Queue,我必须用参数n编写一个名为bump的命令。它应该将队列中的第n个人移动到队列的前面 Bump应该是一个接受参数n的void方法。实施 如果使用堆栈来存储临时删除的名称以便可以删除,则最干净 按正确的顺序放回队列。或者,您也可以进行调整 根据需要使用指针,但要小心 这就是我所拥有的,但它一直抛出空指针异常。非常感谢您的帮助 public void bump(int n) { LinearNode<T> current = head; int i = 1;

我必须用参数n编写一个名为bump的命令。它应该将队列中的第n个人移动到队列的前面

Bump应该是一个接受参数n的void方法。实施 如果使用堆栈来存储临时删除的名称以便可以删除,则最干净 按正确的顺序放回队列。或者,您也可以进行调整 根据需要使用指针,但要小心

这就是我所拥有的,但它一直抛出空指针异常。非常感谢您的帮助

public void bump(int n) {
        LinearNode<T> current = head;
        int i = 1;
        while (i != n) {
            current = current.getNext();

        }
        head.setElement(current.getElement());
    }

循环索引不会增加。while循环发散为n!=1.

我希望您通过列表的末尾,例如,对于5人的列表,尝试将第7位移到第一位。在尝试获取下一个元素之前,需要确保current具有下一个元素/不为null。