gpt4 book ai didi

java - 方法的空指针异常

转载 作者:行者123 更新时间:2023-12-01 18:40:23 24 4
gpt4 key购买 nike

当我调用我的方法来创建传递参数的新字符串副本时,出现空指针异常。这个方法是从我的 main 中调用的。

为什么我会收到此错误以及如何修复它以使其不指向 null?

它表示此行发生错误:front.data = original.charAt(i);

如果我将大小更改为-1,则会在这一行出现错误 back.next = newNode;

主要(方法的相关部分):

public class TestLString {
/** Main method */
public static void main(String[] args) {

String str1 = "Hello, my name is Alphose!";
LString lstr1 = new LString(str1);

编辑:这似乎有效!

   public LString(String original){
size = 0;
for(int i = 0; i< original.length(); i++){
if(original.length() == 0){ ///changed
front = new Node();
front.data = original.charAt(i);
front.next = back;
size++;
} else{
Node newNode = new Node();
newNode.data = original.charAt(i);
Node back = new Node();
back.next = newNode;
newNode.next = null;
back = newNode;
}
}
}

我初始化的数据字段(对此感到抱歉)。如果我可以添加其他内容,请告诉我。

public class LString{


private Node front = null; //first val in list
private Node back; //last val in list
private int size = 0;
private int i;
private int offset;

public LString(){
//construct empty list
Node LString = new Node();
front = null;

}

最佳答案

你在哪里

if (front == null) { front.data = ...; }

这绝对行不通。如果 front 为 null,则无法为其 data 成员赋值。

关于java - 方法的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20154732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com