我正在尝试在单个链表的末尾插入一个新节点。但是我在编译后不断得到空点例外。
下面是节点类。
class Node {
private int data;
private Node next;
public Node(int x){
data = x;
next = null;
}
public int getData(){
return data;
}
public Node getNext(){
return next;
}
public void setData(int newx){
data = newx;
}
public void setNext(Node n){
next = n;
}
}
这里是单个LL类
public class SingleLL {
protected Node head=null;
protected Node tail=null;
protected int size=0;
public int getSize(){
return size;
}
public void addLast(int x){
Node newnode = new Node(x);
if(size==0){
head = newnode;
}
else{
tail.setNext(newnode);
tail = newnode;
}
size = size+1;
}
public void addfirst(int x){
Node newnode = new Node(x);
if(size==0){
tail = newnode;
}
else{
newnode.setNext(head);
head = newnode;
}
size = size+1;
}
addFirst()方法有效。当我试图通过addLast()创建一个LL时,出现了NullPointerException。我想< code > if(size = = 0){ head = new node;一定有什么问题;},但是我想不通。
public static void main(String arg[]){
int[] a = {1,2,3,4,5,6};
SingleLL myList = new SingleLL();
for(int i=0;i<a.length;i++){
myList.addLast(a[i]);
}
}
}
// In your two add methods:
// addLast: because when size = 1, head equals tail
if(size==0){
head = newnode;
tail = head;
}
// addFirst: because when size = 1, head equals tail
if(size==0){
tail = newnode;
head = tail;
}
请记住,NullPointException只会出现在“.”之前,就像tail.setNext()一样;让我们看看,如果size=1,您会调用addLast。目前,head是您添加的newnode,但ail为空。所以当它使用tail.setNext()(实际上,null.setNext())会导致NullPointException。
在添加最后
和添加第一个中
,当列表为空时,您需要初始化头部
和尾部
。否则,一个或另一个将永远不会被设置,并将导致您的空点异常
。
我正在尝试在单链表的末尾插入一个新节点。但编译后我一直得到NullPointerException。 下面是Node类。 下面是单个LL类 方法addFirst()起作用。当我试图通过addLast()创建LL时,会出现NullPointerException。我认为一定有问题,但我想不出来。
我有一个简单的Hello World示例,它将Map传递给Camel,并通过Log4J将值显示到控制台。我想通过将Jackson库添加到我的Camel应用程序Context.xml来扩展这个示例,以JSON格式呈现这个映射 首先,我尝试将以下XML标记添加到我的applicationContext.xml中(如http://camel.apache.org/json.html大学“在Spring
问题内容: 我在Google上搜索的次数越多,我就会越来越困惑。 我从CSV导入了一个长度未知的名称列表以及其他一些详细信息,然后我需要将其转换为Person对象并将其存储在名为people的列表中,该列表是该类Club的实例变量,它的列表成员基本上。 这是非常复杂的事情的非常简化的版本,我需要在while中循环遍历文件,为每行创建对象,然后将其添加到列表集合中。 但是,当我运行代码时,我一直收到
问题内容: 如标题所示,我正在尝试使用for循环将元素添加到xml文档中。我有一个字符串叫,我想遍历,并为每个名称创建一个元素与属性,并与孩子具有的属性,,,和。 不幸的是,如果您在下面的代码中向下滚动到该方法,当我尝试调用时,会出现以下错误: 我看了几个关于stackoverflow的具有相同错误的问题,但是它们似乎都是在与我的情况完全不同的情况下发生的。我最好的猜测是,该错误与以下事实有关:我
每当用户在JOptionPane确认对话框的帮助下被询问是否将产品添加到购物车时选择“是”,我都会尝试将行添加到我的表中。我的代码如下: 然而,我得到了这个错误:线程“AWT-EventQueue-0”java.lang.ClassCastException:javax.swing中出现异常。JTable$1无法强制转换为javax.swing.table.DefaultTableModel 有人
我试图安装条带宝石,我得到这个错误 Gem::Ext::BuildError:错误:无法生成Gem本机扩展。 /Users/Fysh/.rvm/rubies/ruby-2.0.0-p643/bin/ruby-r./siteconf20151005-1267-af6sn6.rbextconf.rb检查-lstdc中的main()...*extconf.rb失败*由于某种原因无法创建Makefile,