Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 输出空值_Java_List_Linked List - Fatal编程技术网

Java 输出空值

Java 输出空值,java,list,linked-list,Java,List,Linked List,我遇到了一个问题,方法输出null而不是返回列表的第(n+1)项。有什么是我忽略的吗 public static ListElement getItem(ListElement head, int n){ if(n == 0){ return head; }else if(head == null){ return null; }else{

我遇到了一个问题,方法输出null而不是返回列表的第(n+1)项。有什么是我忽略的吗

    public static ListElement getItem(ListElement head, int n){
    if(n == 0){                 
        return head;

    }else if(head == null){

            return null;
    }else{                      

        return  getItem(head.getNext(),n+1);

    }

}
从n+1更改为n-1(为了得到递归的基本情况,n==0):


你应该做n-1,而不是n+1。n对应于所需元素的位置,如果删除列表中的顶部项,则所有内容都会向上向下移动一个位置,而不是向上移动


更改为
getItem(head.getNext(),n-1)

此代码没有意义。如果head不为null,它将调用
getItem(head.getNext(),n+1)
,但最终,
head
将等于
null
(并且
n
永远不会变为0),因此它将返回
null
。也许你是说


返回getItem(head.getNext(),n-1)

从递归代码中,我猜您想要
getItem(head.getNext(),n-1)
而不是
getItem(head.getNext(),n+1)为什么不编写一个while循环?
return  getItem(head.getNext(),n-1);