【发布时间】:2017-04-04 18:38:56
【问题描述】:
所以,我正在编写一个程序,其中我需要有一个循环“读取存储在数组的每个元素中的字符串的第一个字符并将其写入输出文件”。
我在以下位置不断收到 NullPointerException:a = planets[i].charAt(0);
String[] planets = new String[8];
char a = 'a';
String pl = "planets.txt";
File file = new File(pl);
Scanner inputFile = new Scanner(file);
for(int i = 0; i < planets.length; i++){
while(inputFile.hasNext()){
planets[i] = inputFile.nextLine();
}
}
inputFile.close();
System.out.println("closed.");
String b = "planetfirst.txt";
PrintWriter outputFile = new PrintWriter(b);
for (int i = 0; i< planets.length; i++){
a = planets[i].charAt(0);
outputFile.println(a);
}
outputFile.close();
System.out.println("Data written to the file.");
提前致谢!
编辑: 我为某些上下文添加了程序的其余部分:)
【问题讨论】:
-
好吧,您的数组中填充了空字符串。第一个索引处没有字符 - 因此是
NullPointerException。 -
planets[i]中什么都没有 -
planets指的是 8 个null值。所以你需要在调用charAt()之前对其进行初始化 -
现在完全不同了。你不能像那样从你的程序中删除行。
-
@Gendarme 对此感到抱歉! (网站新手)
标签: java arrays nullpointerexception