我需要爲我的整數數組創建一個單鏈表,但是,我不知道現在我的代碼有什麼錯誤。爲什麼我無法從數組創建單個鏈接的列表?
這是創建節點的代碼。 (的數據)
package sllset;
class SLLNode {
int value;
SLLNode next;
public SLLNode(int i, SLLNode n){
value = i;
next = n
}
}
我的其他類有我的方法和構造函數看起來像這樣。
package sllset;
public class SLLSet {
private int setSize;
private SLLNode head;
public SLLSet(){
head = null;
setSize = 0;
}
public SLLSet(int[] sortedArray){ //second constructor
setSize = sortedArray.length;
int i;
head=null;
for(i=0;i<setSize;i++){
head.next = head;
head = new SLLNode(sortedArray[i],head.next);
}
}
public String toString(){
SLLNode p;
String result = new String();
for(p=head ; p!=null ; p=p.next)
result += p.value;
return result;
}
public static void main(String[] args) {
int[] A = {2,3,6,8,9};
SLLSet a = new SLLSet(A);
System.out.println(a.toString());
}
}
我的問題是,我的第二個構造函數不工作,我真的不知道爲什麼。我一直在關注如何使這些功能大部分功能的指導,所以我對代碼的瞭解我認爲不足以解決問題。
編輯:所以有人告訴我指定的問題,我在第19行得到一個NULLPointerException;我的代碼是head.next = head; 。然而,當我 刪除該部分測試,第20行得到錯誤信息
它不起作用?你怎麼知道的? – shmosel
我嘗試過運行它 – joeymed
@shmosel很有趣 –