我试图在java中创建多个链表,但在其中一行我得到NullPointerException,我无法找出为什么会出现这种错误的原因。
import java.util.*;
class node{
int data;
node link;
public node(){
data = 0;
link = null;
}
}
public class ll{
static node add(node head[], int x){
node temp = new node();
System.out.println("Enter value");
temp.data = new Scanner(System.in).nextInt();
temp.link = head[x].link;
head[x].link = temp;
return head[x];
}
public static void main(String []args){
int m =0;
int x = 0; int flag = 0;
System.out.println("Enter the size of index");
m = new Scanner(System.in).nextInt();
node []head = new node[m];
while(x<head.length){
head[x].data = 0; //error arises here
head[x].link = null;
x++;
}
System.out.println(head[0].data); //error arises here.
}
}
这是因为head[x]
/head[0]
包含了null
的引用
您已经定义了一个节点数组,但没有使用任何内容填充它,因此
head[x]
指向一个空项,使用它来访问.data字段会导致NPE。