2014-10-19 4 views
0

저는 Java를 처음 사용하기 때문에 GCD를 최대 5 개까지 계산할 수있는 작은 응용 프로그램을 만들어야합니다. 5 개의 숫자가 입력되기 전에 입력이 아무것도없는 경우 응용 프로그램에서 이미 주어진 숫자로 계산합니다.그렇지 않으면 조건이 무시됩니까?

불행히도 내 코드는 내 else if 성명을 무시하는 것으로 보입니다. int 배열

이것은 내가 고민하고있는 부분이며, 이미 시도했지만 동일한 결과를 포함하고 있지 않습니다. !input..을 쓰고 있습니까? 코드를 올바르게 실행하면 0을 추가하려고하면 else가 실행되지 않습니다. 그러나 응용 프로그램이 if 문의 첫 번째 부분을 실행하게하려면 ""을 입력하면 오류가 발생한 배열에 ""을 추가하려고 시도하면 else로 이동합니다. 나는 그 무언가가 작거나 실종되었다고 확신하지만, 알아낼 수는 없다.

}else if(Integer.parseInt(input) != 0 || !input.equals(""));{ 
      ggdGetallen[count] = Integer.parseInt(input); 
      count++; 
      txtGetal.selectAll(); 

} 

전체 코드를 사용자의 다른 경우에서

private void txtGetalActionPerformed(java.awt.event.ActionEvent evt) {           

    String input = txtGetal.getText(); 

    //Berekenen van het kleinste getal in het array 
    if(count > 4 || input.equals("")){ 
     int kleinsteGetal = ggdGetallen[0]; 
     for (int getal : ggdGetallen){ 
      if (getal < kleinsteGetal && getal != 0){ 
       kleinsteGetal = getal; 
      } 
     } 

     boolean isDividableBy; 
     boolean ggdFound = false; 
     while(!ggdFound){ 
      for (int getal : ggdGetallen) { 
       if (getal != 0){ 
        isDividableBy = (getal % kleinsteGetal == 0); 
        ggdFound = true; 
        if(!isDividableBy){ 
         kleinsteGetal--; 
         ggdFound = false; 
         break; 
        } 
       } 
      } 
     } 

     lblResultaat.setText(String.format("De grootste gemene deler is %d", kleinsteGetal)); 


    }else if(Integer.parseInt(input) != 0 || !input.equals(""));{ 
     ggdGetallen[count] = Integer.parseInt(input); 
     count++; 
     txtGetal.selectAll(); 

    } 


} 
+1

이 역시 올바르지 않습니다. Integer.parseInt (input)! = 0 || ! input.equals (""); 사용자 입력이 비어 있으면 input.equals ("")가 true가되지만 그 전에는 int로 변환 할 수없는 오류가 발생한다고 생각합니다. –

+1

좋은 지적! 감사합니다 – Vahx

답변

5

제거 세미콜론.

+0

거룩한 .. 감사합니다! 나는 지금 정말로 어리 석다. ( – Vahx

관련 문제