使用null退出while循环

时间:2015-10-26 19:24:02

标签: java loops while-loop null

我需要在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]);

任何想法?

2 个答案:

答案 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引用和空字符串(“”)。

希望这个答案有所帮助!