2017-10-22 5 views
0

String [] lucky = new String [20];문자열에 사용자 입력 ""(공백)을 입력하면 0으로 설정하는 방법

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()를 사용해야합니다.

둘째, 빈 문자열을 정수로 구문 분석하려고하면 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]); 
}