gpt4 book ai didi

java - 为什么会出现 NullPointerException?

转载 作者:行者123 更新时间:2023-11-29 09:56:39 25 4
gpt4 key购买 nike

我正在尝试使用一个字符串并将其转换为一个整数,以将第一列和所有行与输入的字符串中的所有数字进行比较。当我输入一个数字时,我得到一个 NullPointerException .问题是,当我觉得我已经正确声明了所有对象时,我不明白为什么编译器会告诉我这个。请帮忙!

import java.util.ArrayList;

public class Decoder
{

private int[][] zipdecoder;
private ArrayList<Integer> zipcode;
private String finalCode;
private String bars;
private int place;
public Decoder()
{
int[][] zipdecoder = new int[][]{
{1,0,0,0,1,1},
{2,0,0,1,0,1},
{3,0,0,1,1,1},
{4,0,1,0,0,0},
{5,0,1,0,1,1},
{6,0,1,1,0,0},
{7,1,0,0,0,0},
{8,1,0,0,1,1},
{9,1,0,1,0,0},
{0,1,1,0,0,0}
};
zipcode = new ArrayList<Integer>();
}

public void insertToArray(String zip)
{
int count = 0;

for(int i = 1; i<zip.length()+1;i++)
{
String piece = zip.substring(count, i);

int number = Integer.parseInt(piece);
for(int j = 0;j<10;j++)
{
if(number == zipdecoder[j][0]){
for(int a = 1;a<5;a++)
{
zipcode.add(place,zipdecoder[j][a]);
place++;
}
}
count++;
}

}
}

最佳答案

您不是在初始化类成员 zipdecoder,而是在构造函数中初始化一个新的局部变量(同名)。

改变这个

 int[][] zipdecoder = new int[][]{

 zipdecoder = new int[][]{

它应该可以工作。

关于java - 为什么会出现 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9629757/

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