リンク リストにノードを追加するメソッドを作成しようとしています。このメソッドは、int (新しいリンクの移動先を指定するため) と String (リンクされたリストが文字列を保持するため) を取ります。リストの特定のポイントにリンクを追加すると思われるコードを書きましたが、新しいノードを追加した後にリストを印刷すると、新しいノードが追加されていないことがわかります。コードを書いているときにコードの動作をテストすることに注意を払っていたので、かなり驚いています.addメソッドは期待どおりに動作しているようですが、新しく印刷されたリストには、新しいリンクを追加した後の変更が反映されていません. . 誰が私が間違っているのか教えてもらえますか:/
ps: クラスとメソッドの名前は議論の余地がありません。私の先生が選んだので、そのままにしておく必要があります。
ありがとう!
リンクされたリストのテスト
class LinkedListTest
{
public static void main(String[] args)
{
LinkedList list = new LinkedList();
list.insertFirst("cat");
list.insertFirst("dog");
list.insertFirst("fish");
list.insertFirst("cow");
list.insertFirst("horse");
list.insertFirst("pig");
list.insertFirst("chicken");
list.add(3, "mouse");
list.print();
}
}
リンク リスト クラス
public class LinkedList
{
private Link first;
public LinkedList()
{
first = null;
}
public void insertFirst(String word)
{
Link link = new Link(word);
link.next = first;
first = link;
System.out.print(first.item + " ");
}
public String deleteFirst()
{
Link temp = first;
first = first.next;
return temp.item;
}
public String get(int index)
{
Link current = first;
while (index > 0)
{
index--;
current = current.next;
}
return current.item;
}
public void add(int index , String someString)
{
Link current = first;
while (index>0)
{
index--;
current = current.next;
}
Link newLink = new Link(someString);
newLink.next = current;
current = newLink;
}
public void print()
{
System.out.println("-----------PRINTING LIST------------");
Link current = first;
while(!(current==null))
{
System.out.println(current.item);
current = current.next;
}
}
}
リンククラス
public class Link
{
public String item;
public Link next;
public Link(String theItem)
{
item = theItem;
}
}