【发布时间】:2021-03-16 20:37:53
【问题描述】:
我正在尝试将输入添加到链接列表中。输入来自文件。我可以打印出这些值,但只有第一个值被添加到链表中。不知道我错过了什么。一切都应该从头开始编写。任何帮助表示赞赏。
public void addNode(int data) {
Node newNode = new Node(data);
if(head == null) {
head = newNode;
tail = newNode;
}
}
public void display() {
Node current = head;
System.out.println("Nodes of a Singly linked list: ");
while (current != null) {
System.out.print(current.data + " -> ");
current = current.next;
}
}
结果:
Nodes of a Singly linked list:
1 ->
【问题讨论】:
-
您的添加功能错误,您还需要使用
head.next = newNode将其链接到新节点。 -
看看你的
addNode(int data)方法——如果head==null你把head & tail指向新节点。美好的。但如果 head 不为空,你 什么都不做。您没有“其他”子句。因此,第一个节点之后的节点被创建为Node,但从未对它们进行任何操作。它们刚刚被送入太空。 -
@StephenP 很好的解释,实现如下。
-
@StephenP 谢谢,这真的很有帮助。
标签: java java.util.scanner singly-linked-list