私の整数の配列に1つのリンクされたリストを作成する必要がありますが、現在私のコードで現在何が間違っているのか分かりません。アレイから単独でリンクされたリストを作成できないのはなぜですか?
これはノードを作成するためのコードです。 (データ)
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());
}
}
私の問題は、私の2番目のコンストラクタが動作しないということです。私は実際には理由を知りません。私は、これらの機能の大部分をどのように行うかについてのガイドに従ってきたので、私が推測するコードの知識は問題を解読するのに十分ではありません。
EDIT:誰かが19行目でNULLPointerExceptionを取得する問題を指定するように指示しました。ここで私はhead.next = head; 。しかし、とき 私がテストするために、その部分を削除し、ライン20は、エラーメッセージを取得します
これは動作しません。どうして知っていますか? – shmosel
私はそれを実行しようとしました – joeymed
@shmosel非常に面白い –