2017-10-22 7 views
0

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

理想的には、このような何かにあなたのコードを変更する必要がありますか?何が想定どおりに動作しないのですか? – inxoy

+0

""(空白)を入力すると停止します – Polly

+0

プログラムが停止しますか? – inxoy

答えて

0

最初に、空の文字列をチェックする方法は正しくありません。 == ""の代わりに、String#isEmpty()を使うべきです。

第2に、空の文字列を解析して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]); 
} 
関連する問題