在双头链表中,我使用了另一个链接theLink
,该链接通过copy构造函数复制到copy
firstLink
。但是,当我遍历链接列表从后端插入时,它抛出了一个空指针异常。
package javaapplication2;
import java.util.Arrays;
public class DoubleEndedLinkList {
Link firstLink;
Link lastLink;
int data;
public boolean isEmpty() {
return firstLink == null;
}
public void insertAbove(int data) {
Link toInsert = new Link(data);
if (isEmpty()) {
firstLink = toInsert;
} else {
// System.out.println("firstLink : " + firstLink.data);
toInsert.next = firstLink;
firstLink = toInsert;
}
}
public void insertBelow(int data) {
Link toInsert = new Link(data);
if(isEmpty()){
lastLink = toInsert;
}else{
Link traversal = new Link(firstLink);
while(traversal!=null){
traversal = traversal.next;
}
System.out.println("LastLink = " + traversal.data ); //Here exception occurs
lastLink = traversal;
lastLink.next = toInsert;
lastLink = toInsert;
}
}
public void display() {
Link theLink = firstLink;
try {
System.out.print(theLink.data + "->");
theLink = theLink.next;
while (theLink != null) {
System.out.print(theLink.data + "->");
theLink = theLink.next;
}
System.out.print("||");
} catch (NullPointerException e) {
System.out.print("->||");
}
}
@Override
public String toString() {
return String.valueOf(data);
}
public static void main(String[] args) {
DoubleEndedLinkList dl = new DoubleEndedLinkList();
dl.insertAbove(5);
dl.insertAbove(10);
dl.insertAbove(15);
dl.display();
dl.insertBelow(99);
System.out.println("FirstLink = " + dl.firstLink.data + " LastLink = " + dl.lastLink.data);
}
}
问题似乎出在方法上insertBelow
。您有条件继续前进,直到node traversal
不为null 为止:
while(traversal!=null){
traversal = traversal.next;
}
当while循环结束时,traversal
将指向null
位置。然后在下一行:
lastLink = traversal;
现在lastLink
为null,下一行:
lastLink.next = toInsert;
正在尝试访问null
,因此是NPE的问题。您需要通过将while循环条件更改为以下内容来修复代码:
while(traversal.next!=null)
问题内容: 我正在android中做一个应用程序,因此我需要访问com.android.internal.telephony API。现在,我可以访问这些API了,但问题是,无论我在自己的类中调用Class Call.java方法的什么地方,都会抛出。您可以在http://hi- android.info/src/com/android/internal/telephony/Call.java.h
首先,下面的代码片段是Google云项目应用程序的一部分,在我的本地客户机Raspberry Pi 1上运行。为了能够从连接到Pi的传感器向云发送数据,需要授权。所有需要的客户端机密都存储在src/main/resources中的“client_secrets.json”中。 项目层次结构 当试图使用客户端机密来授权时,下面的代码抛出一个NullPointerException。它是类“CmdLi
我对spring boot和JPA相当陌生。我正在做我的学习目的的小项目。 实体类 有线索吗?
我正在尝试创建二维双链接圆形阵列,从txt文件读取数据并自动创建节点。我的程序正在正确地读取第一行,但当它到达下一行并开始创建下一个节点时,会出现空指针。我不明白为什么会这样,请帮帮我。 这些都是错误。Null指针在尝试创建第二个节点时发生。它正确地创建第一个节点,而不是紧接着创建空指针。 第77行=位置next=n; 第69行=插入后(head.prev, x); 第18行=mList。镶片(k
我真的很难修复我的代码。我已经创建了一个双链接列表,我正试图反向遍历它。 有什么想法吗? 这是我的代码:Node。爪哇: 下面是第二个类“DNode.java”: 最后,这里是双链接列表。java:(重写另一个类“链表”中的“添加”和“删除”方法) 公共类双链接列表扩展了链接列表{ 我可以向前打印列表,但向后打印时会遇到无限循环。有什么想法吗? 谢谢
我对映射reduce编程是个新手,从简单的单词计数示例开始我的课程。然而,我正在尝试一种不同的方法。我的hdfs输入文件夹上有两个输入文件。我正在尝试生成类似于 我编写了一个映射器类来将单词和文件名连接在一起,但是当我在文本中设置键值时,它会抛出空指针异常。谁能帮我指点一下我哪里做错了。