我正在尝试在单链表的末尾插入一个新节点。但编译后我一直得到NullPointerException。
下面是Node类。
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。我认为if(size==0){head=newnode;}
一定有问题,但我想不出来。
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,但tail是null。所以当它使用tail.setNext()(实际上是null.setNext())时,将导致NullPointException。
在addlast
和addfirst
中,当列表为空时,您需要初始化head
和tail
。否则,一个或另一个将永远无法设置,并将导致NullPointerException
。
我正在尝试在单个链表的末尾插入一个新节点。但是我在编译后不断得到空点例外。 下面是节点类。 这里是单个LL类 addFirst()方法有效。当我试图通过addLast()创建一个LL时,出现了NullPointerException。我想< code > if(size = = 0){ head = new node;一定有什么问题;},但是我想不通。
我尝试使用这个存储库https://github.com/ctongfei/progressbar为我的光线跟踪添加进度条。当我运行测试时,我得到很多异常。 我完全不知道它们是什么意思,也不知道如何开始修复它们。 我的测试代码: 我收到的错误消息: 2019年7月15日9:14:57PM org . jline . utils . log logr警告:无法检索哑色Java . io . io类型
正如我所知,ArrayList以2^n+1的大小复制数组。而linkedlist只更改节点
建造Gradle。应用程序部分。 项目部分。 我的文件中没有所有项目部分。这就是为什么我自己添加了这个地方。但是那些在所有项目中定义的 它必须成形。当我尝试引入google()和mavenCentral时,它给出了buildScript中已经定义的错误。当我试图只定义没有定义google()和mavenCentral;Build被配置为首选设置存储库而不是项目存储库,但存储库“maven”是由Bu
每当用户在JOptionPane确认对话框的帮助下被询问是否将产品添加到购物车时选择“是”,我都会尝试将行添加到我的表中。我的代码如下: 然而,我得到了这个错误:线程“AWT-EventQueue-0”java.lang.ClassCastException:javax.swing中出现异常。JTable$1无法强制转换为javax.swing.table.DefaultTableModel 有人
我有一个简单的Hello World示例,它将Map传递给Camel,并通过Log4J将值显示到控制台。我想通过将Jackson库添加到我的Camel应用程序Context.xml来扩展这个示例,以JSON格式呈现这个映射 首先,我尝试将以下XML标记添加到我的applicationContext.xml中(如http://camel.apache.org/json.html大学“在Spring