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]);
}
答案 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]);
}