Java 从文本读取并将其存储到数组时发生NullPointerException
我在下面的代码中得到一个null指针异常。代码从文本中读取内容,并将每条线存储在数组中。数组是一个包含长度为5的单个字符串数组的类。我弄不明白为什么会出现这个错误Java 从文本读取并将其存储到数组时发生NullPointerException,java,arrays,Java,Arrays,我在下面的代码中得到一个null指针异常。代码从文本中读取内容,并将每条线存储在数组中。数组是一个包含长度为5的单个字符串数组的类。我弄不明白为什么会出现这个错误 Question[] questions = new Question[100]; File file = new File("q.txt"); String[] tempq = new String[5]; try { Scanner read = new Scanner(file);
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();
}
问题[]问题=新问题[100];
File File=新文件(“q.txt”);
字符串[]tempq=新字符串[5];
试一试{
扫描仪读取=新扫描仪(文件);
而(计数器此行:
Question[] questions = new Question[100];
此行将创建一个包含100个Question
对象的数组,但不会创建数组中的每个对象。添加
questions[counter] = new Question();
(或任何构造函数)创建问题,然后设置详细信息。默认情况下,数组使用默认值初始化,例如int为0,object为charnull
在使用数组之前,必须先填充数组中的值
要查看完整列表,请查看以及您从何处获得空指针?我没有完全理解您所说的内容。您的问题
对象为空。您需要创建它们。您只有一个数组。我尝试实现您的解决方案,但得到了java.util.NoSuchElementException errajava.util.NoSuchElementException
可能来自您的扫描仪
-检查您的输入文件是否正确。我的输入文件是否正确,当我尝试执行相同的操作而不是arrray时,这是有效的