所以我正在编写一个 java 程序,它应该一直分析来自用户的字符串,直到标准输入结束(直到他们按下 CTRL+D 或输入文件的结尾)。该程序按预期工作,但是当我按 CTRL+D 时,出现空指针异常。这是有问题的代码:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String line = " ";
while (line != null) {
line = in.readLine();
String[] tokens = line.split(" ");
System.out.println(line); ......
空指针指向String[] tokens = line.split(" ");
看起来代码正在尝试标记为空的行。但我认为我以一种从不尝试标记空行的方式编写它。谁能帮我吗?