Java String NullPointException

时间:2018-05-16 16:01:44

标签: java string object nullpointerexception

所以我有一个对象:

    class inputSeq{
        public String name;
        public String sequence[];

        public inputSeq(String name, String sequence[]) {
            this.name = name;
            this.sequence = sequence;
        }
}

我想读取输入并将其保存在对象中。为此,我有这个:

Scanner in=new Scanner(System.in);
inputSeq inputSeq[]=new inputSeq[99];
int nSpecies=in.nextInt();
for(int j=0;j<nSpecies;j++){
    inputSeq[j].name=in.nextLine();
}

当我运行它时,我在inputSeq[j].name=in.nextLine();

中得到一个NullPointerException

2 个答案:

答案 0 :(得分:0)

问题是因为你刚刚声明了 inputSeq 的数组,这意味着默认情况下这个数组中的每个元素都是null,所以你必须首先填充数组

答案 1 :(得分:0)

创建数组时,首先单个条目为空。在尝试使用它之前,您必须为条目指定一个新对象。

Scanner in=new Scanner(System.in);
int nSpecies=in.nextInt();
inputSeq inputSeq[]=new inputSeq[nSpecies];

for(int j=0;j<nSpecies;j++) {
    String name = in.nextLine();
    inputSeq[j] = new inputSeq(name, null);
    // now inputSeq[i].name has a value
    // but inputSeq[i].sequence is still null
}