gpt4 book ai didi

java - 如何在链表的节点上插入数组

转载 作者:太空宇宙 更新时间:2023-11-04 09:57:55 25 4
gpt4 key购买 nike

当我尝试将字符串数组放在 LinkedList 的节点上时遇到问题,这是我使用的代码。

public class Node { 

public Node next ;
public String[] data;

public Node (Node next ) {
this.next = next ;
this.data = new String[6];
}
}

这是在 LinkedListNode 内添加数组的 add 函数:

public void add() {
Node current = head;
if (head == null) {
for (int i = 0; i < 6; i++) {
head.data[i] = numData[i];
}
} else
while (current != null) {
current = current.next;
}

for (int i = 0; i < 6; i++) {
current.data[i] = numData[i];
}
}

Error: Exception in thread "main" java.lang.NullPointerException

最佳答案

在您的 add 方法中,最后一个 for 循环中的 currentnull ,显然如果 head 为 null 您也会遇到问题。当您想要添加新节点时,您似乎忘记启动新实例。更改您的方法如下:

    public void add()
{
Node current = head ;
if(head == null ){
head = new Node(null); //here you need to initiate head
for(int i = 0 ; i<6 ; i++){
head.data[i] = numData[i] ;
}
}
else {
while(current.next != null){
current = current.next ;
}
Node newNode = new Node(null); //initiating a new node
for(int i = 0 ; i<6 ; i++){
newNode.data[i] = numData[i] ;
}
current.next = newNode;
}
}

我只是假设您想将数据放入新节点中。如果要向最后一个现有节点添加数据,只需更改方法的最后部分即可。

关于java - 如何在链表的节点上插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53867316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com