Java单链表节点删除循环由于某种原因进入无限循环

Java单链表节点删除循环由于某种原因进入无限循环,java,linked-list,nodes,singly-linked-list,Java,Linked List,Nodes,Singly Linked List,所以这个方法应该遍历列表,每隔三个节点删除一个节点,直到只剩下一个节点,我的代码如下: public void printWinningPosition() { Node<T> pos = head; Node<T> prev=null; while (size()>=1){ for (int i=1;i<3;i++){ if (pos.link!=null){

所以这个方法应该遍历列表,每隔三个节点删除一个节点,直到只剩下一个节点,我的代码如下:

public void printWinningPosition() {
    Node<T> pos = head;
    Node<T> prev=null;


    while (size()>=1){
        for (int i=1;i<3;i++){
            if (pos.link!=null){
                prev=pos;
                pos=pos.link;

            }else{
                pos.link=head;
                pos=pos.link;
            }

        }
        System.out.println("Eliminate suitor #"+pos.data);

        prev.link=pos.link;
        pos=pos.link;
        System.out.println(size());
        outputList();




    }

}
因此,它正在删除正确的节点和内容,但我不知道为什么它在尝试删除时停止工作#2,程序没有停止,但它在这里卡住了


提前谢谢

我并不想显得残忍,但我认为这是一个你应该自己弄清楚的问题。您知道如何在Eclipse中使用调试器并逐步完成代码吗?它卡在println()和
之间,而(size()>=1)
检查否实际上我不知道调试器是什么,但现在我会检查一下,看看是否可以解决问题,谢谢!看一看它的教程。如果所有这些都失败了,您可以在每个步骤中添加更多的print语句来查看发生了什么。我并不想显得残忍,但我认为这是一个你应该自己弄清楚的问题。您知道如何在Eclipse中使用调试器并逐步完成代码吗?它卡在println()和
之间,而(size()>=1)
检查否实际上我不知道调试器是什么,但现在我会检查一下,看看是否可以解决问题,谢谢!看一看它的教程。如果所有这些都失败了,您可以在每个步骤中添加更多的print语句来查看发生了什么。
Eliminate suitor #3
6
1 2 4 5 6 7 
Eliminate suitor #6
5
1 2 4 5 7 
Eliminate suitor #2