我在代码大师上制作了一个程序。我在我的eclipse ide上获得了正确的输出,当我提交它时,CodeChef ide上显示的输出是:
For Next
以下是问题链接:https://www.codechef.com/problems/TEST
以下是我解决问题的方法: //生命世界和EveryThing
Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:542)
at java.lang.Integer.parseInt(Integer.java:615)
at Prog1.stop(Main.java:16)
at Prog1.main(Main.java:50)
答案 0 :(得分:2)
原因:
你在做Integer.parseInt()
。这会导致非有效字符串和null
等的异常。
解决方案:
1)进行null
检查
2)Try=Catch
它并且在捕获中有必要。
答案 1 :(得分:2)
直接原因是您将null
传递给Integer.parseInt
。接下来你需要找出为什么正在发生......
你在每次迭代时创建一个新的BufferedReader
包裹System.in
...这可能只是读取一行而不是一行,这意味着有些输入行被有效地吞噬了
只需在开始时创建一个 BufferedReader
,然后将其用于整个程序。您还可以检查readLine
的返回值是否为null
,但由于这表示无效数据,因此只是按照它已经执行的方式进行投掷并不是很糟糕...
答案 2 :(得分:1)
首先检查if(s1!=null)
然后int x=Integer.parseInt(s1);
使用异常处理概念try catch
。
try{
if(s1!=null){
int x=Integer.parseInt(s1);
}
}catch(NumberFormatException e){
}