2013-04-21 53 views
0

我很好奇,以了解如何将多个int添加到java中的LinkedList中的节点(单个循环)。我在SO上发现了一个线程,并正在阅读它,但并不确定它是如何工作的。以为我会重新提出这个问题,看看我能否得到答案。多个变量存储在单个节点java链接列表

这是我的节点类

public class LinkedList{ 
private class Node{ 
    private int pid; 
    private int time; 
    private Node next; 

    public Node(int pid, int time){ 
     this.pid=pid; 
     this.time=time; 
    } 
} 
int size; 
Node head; 

这是我的加我我做任何删除或类似的东西之前,我只是尝试。

public void add(int pid, int time) { 
    Node curr=head; 
    Node newNode=new Node(pid, time); 
    if(head==null){ 
     head=newNode; 
      newNode.next=head; 
    }//end if 
    else{ 
     while(curr.next!=head){ 
      curr = curr.next; 
     }//end while 
     curr.next=newNode; 
      newNode.next=head; 
    }//end else 
    size++; 
}//end add 
} 

这是我迄今为止但是当我尝试输入两个整数,我得到的private int time一个空指针异常难道我做错了什么?我正在读取一个文件,然后将这两个整数存储在一个节点中,然后执行相同的操作,直到文件完全读取完毕。我有文件读取就好了,我有两个整数存储为整数从文件,但我似乎无法得到它存储在节点ints

+0

你没有在提交代码有问题。只需将'Node'类设为'static'即可。或者你需要引用'Node'中的'LinkedList'?添加代码如何填充列表对象。 – 2013-04-21 02:00:33

回答

2

你是如何初始化head?你做了Node head = new Node()

如果您创建自定义构造函数,则Java不会再添加默认构造函数。你必须再次定义。

可以代替做Node head = null;

+0

他很好 - 他正确处理'head'中的'null'。 – 2013-04-21 01:57:17

+0

以及把头= null现在工作正常 – kevorski 2013-04-21 02:00:26

+0

@kevorski这不可能是真的:)未初始化的引用是'空' – 2013-04-21 02:02:44

相关问题