【发布时间】:2020-02-11 06:10:13
【问题描述】:
我在hackerearth.com 上尝试了一些问题,在一个程序中,NullPointerException 即将到来,但是当我在我的计算机上运行该代码时,它运行良好。我已经阅读了很多关于空指针异常的内容,但无法理解为什么会出现该异常。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String arr2[] = new String[n];
for (int i = 0; i < n; i++)
{
String s = br.readLine();
String arr[] = s.trim().split("\\s+");
int arr1[] = new int[arr.length];
}
这是异常发生的部分 --> String arr[]=s.trim().split("\\s+");
【问题讨论】:
-
s 可能为 null,因为 br.ReadLine() 从无法访问的输入流中读取或该流位于 EOF
-
那么我能做些什么来避免这种情况,你能建议吗?,当我必须从单行获取整数输出时,我多次使用 br.readLine (),中间有空格,但它从未显示任何例外,只是在这种情况下。
-
您可以检查
if (s != null),在String arr[]...和int arr1[]...行之前,这都可能是由关闭的连接引起的。我认为这是 c#,但也许是 java ?请添加相应的标签! -
它在java中,所以每次我必须使用readLine()时,我必须检查一下?
-
我会这样做的,是的。
标签: java exception nullpointerexception