如果用户输入"如何将零设置为整数"(空格)成字符串

时间:2017-10-22 17:45:38

标签: java arrays string int

String [] lucky = new String [20];

int [] Lucky = new int [lucky.length];

    for(int i = 0 ; i < 20 ; i++){
        lucky[i] = JOptionPane.showInputDialog("Enter " +(i+1) +" number : ");
        Lucky[i] = Integer.parseInt(lucky[i]);
        if(lucky[i] == " "){
            Lucky[i] = 0;
        }
        System.out.println("The "+(i+1) +" number user input : "+Lucky[i]);  
    }

1 个答案:

答案 0 :(得分:0)

首先,检查空字符串的方式不正确。而不是做==“”你应该使用String#isEmpty()。

其次,您尝试将空字符串解析为Integer,这将失败并出现NumberFormatException(因此您看到程序停止的原因)。

因此,不是试图将字符串解析为整数然后检查给定字符串是否为空,而应首先检查它是否为空,然后将其解析为Integer对象。

理想情况下,您应该将代码修改为以下内容:

for (int i = 0; i < 20; i++) {
    lucky[i] = JOptionPane.showInputDialog("Enter " + (i + 1) + "number: ");
    if (lucky[i].isEmpty()) {
        luckyInt[i] = 0;
    } else {
        luckyInt[i] = Integer.parseInt(lucky[i]);
    }
    System.out.println("The "+(i+1) +" number user input : "+ luckyInt[i]);
}