リンクリストのコンストラクタに問題があります。それは文字列を受け取り、すべての文字のノードを作成することになっています。java linked listコピーコンストラクタ
私はリストを印刷しようとするたびにnullpointerexceptionを取得します。それは、最初のノードが作成されていないことを意味しますか?
以下が私のノードクラスとリストコンストラクタです。
class CharNode {
private char letter;
private CharNode next;
public CharNode(char ch, CharNode link)
{
ch = letter;
link = next;
}
public void setCharacter(char ch)
{
ch = letter;
}
public char getCharacter()
{
return letter;
}
public void setNext(CharNode next)
{
this.next = next;
}
public CharNode getNext()
{
return next;
}
}
が、これは私のコンストラクタです
// constructor from a String
public CharList(String s) {
CharNode newNode = head;
for(int i = 0; i <s.length(); i++)
{
newNode = new CharNode(s.charAt(i), null);
newNode.setNext(newNode);
}
}
は、私はそれを正しく構築するのですか?
は、それぞれのノードが別の名前を持つつもりですか?最初のものはnewNode、2番目のnewNode1は? – alexthefourth
いいえ、そうでなければ、任意の長いリストを作成することに問題があります。 'curNode'と' prevNode'のようにノードへの参照が2つある場合、 'prevNode.next = curNode;'のようにループすることができます。その後、 'prevNode'を' curNode'を参照するように動かすことができます。新しいノードを作成し、 'curNode'を自由に割り当てることができます。私がリスト( 'head')の最初のノードを持っている限り、私はリスト全体にアクセスできます。 – brc