ここに私の2つのクラスNameNodeとNameListがあります。私の問題は、NameListクラスのprint()メソッドにあります。私が2つの名前を持っていれば、 "Lee"と "Jim"と言うことができます。この方法を使うと "Lee"だけが出力されます。 appendメソッドがリストに追加できなかった場合や、tmpがリスト内の次のオブジェクトに進まないようにするステップエラーがあるかどうかはわかりません。どんな助けもありがとうございます。単独リンクされたリスト印刷メソッドは最初のオブジェクト(Java)を印刷します
public class NameNode {
private String lastName;
private NameNode next;
public NameNode(String lastName, NameNode toNext)
{
this.lastName = lastName;
this.next = toNext;
}
public String getName()
{
return lastName;
}
public NameNode getNext()
{
return next;
}
public void setNext(NameNode next)
{
this.next = next;
}
public String toString()
{
return lastName;
}
}
public class NameList {
private NameNode names;
public NameList()
{
names = null;
}
public boolean isEmpty()
{
return names == null;
}
public void append(String name)
{
if(names == null)
{
names = new NameNode(name,null);
}
else
{
NameNode tmp = names;
//tmp = names;
while(tmp.getNext() != null)
{
tmp = tmp.getNext();
tmp.setNext(new NameNode(name,null));
}
}
null
}
public void print()
{
NameNode current = names;
while(current != null)
{
System.out.println(current.getName());
current = current.getNext();
}
}
}
私は戻ってあなたが言ったことを見ましたが、それは問題ではありませんでした。 NameListクラスのappendメソッドでエラーを修正して、印刷の問題を修正しました。私は "tmp.setNext(新しいNameNode(name、null);"という行をループの外に移動しなければならなかったので、私が知る限りすべてを修正しました。 – Rconno