我需要在0-500之间输入随机数量的数字,一旦返回为空字符串,我需要退出循环并对输入进行一些计算。到目前为止,这是我的代码:
String test = "";
while(test != null ){
String[] inputs = br.readLine().split("\\s+");
inputs[0] = test;
if (test != null){
inputs2[i] = Integer.parseInt(inputs[0]);
StatsPackage.inputs[i] = Integer.parseInt(inputs[0]);
}
i++;
}//end of while loop
以下是我不断收到的错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at StatsPackage.main(StatsPackage.java:84)
第84行是:
inputs2[i] = Integer.parseInt(inputs[0]);
任何想法?
答案 0 :(得分:-2)
您可以验证字符串是否为空,添加:
String test = "";
while(test != null && !test.isEmpty()){
String[] inputs = br.readLine().split("\\s+");
inputs[0] = test;
if (test != null){
inputs2[i] = Integer.parseInt(inputs[0]);
StatsPackage.inputs[i] = Integer.parseInt(inputs[0]);
}
i++;
}//end of while loop
答案 1 :(得分:-2)
只需在代码中尝试以下比较:
(test != null || !(test.equals("")))
在这种情况下,您要避免使用NULL引用和空字符串(“”)。
希望这个答案有所帮助!