读取文本并将其存储到数组时出现NullPointerException

时间:2014-05-08 06:58:47

标签: java arrays

我在以下代码中获得了nullpointer异常。代码从文本中读取并将每行存储在数组中。该数组是一个包含长度为5的单个String数组的类。我很困惑,为什么我会收到此错误。

Question[] questions = new Question[100];
File file = new File("q.txt");
    String[] tempq = new String[5];
    try {
        Scanner read = new Scanner(file);

        while(counter<100){
            for(int i= 0;i<5;i++){
                tempq[i]=read.nextLine();
            }
            questions[counter].setDetails(tempq);
            counter++;

        }
    } catch (FileNotFoundException ex) {
        ex.printStackTrace();
    }

2 个答案:

答案 0 :(得分:3)

这一行:

Question[] questions = new Question[100];

此行将创建一个包含100个Question个对象的数组,但不会在数组中创建每个对象。添加

questions[counter] = new Question();

(或任何你的构造函数)是创建问题,然后设置细节。

答案 1 :(得分:0)

默认情况下,数组使用默认值初始化,例如0表示int,\u0000表示对象的char null

在使用之前,您必须填充数组中的值。

有关完整列表,请查看Can we assume default array values in Java? for example, assume that an int array is set to all zeros?