2012-05-27 5 views
-2

Java에 상당히 익숙하며 입력을 temp와 비교하려고 할 때마다 입력 및 temp가 동일하지 않더라도 모든 배열이 내 배열에 있습니다. .equals 비교를 사용하는 Java if 문은 항상 true로 평가됩니다.

코드 :

if (jRadioButton1.isSelected()) 
{ 
    String temp; 
    try 
    { 
     for (int i = 0; i < 500; i++) 
     { 
      temp = Integer.toString(Read.tempHigh[i]); 

      if (input.equals(temp)); 
      { 
       j.TextArea3.append(temp); 
       j.TextArea3.append(input); 
      } 
     } 
    } 
    catch (NumberFormatException e) 
    { 
     jTextArea3.append("Please enter a number"); 
    } 
} 
+1

나는 코드가 중요한 부분을 포함하지 않는 생각한다. 코드를 디버깅 한 적이 있습니까? p if 문 줄에 중단 점을 입력하고 입력 내용과 임시 내용을 봅니다. 그 중 하나에는 예상치 못한 가치가 포함됩니다. – Arne

답변

5

귀하의 라인 ...

if (input.equals(temp)); 

그것의 끝에서 ;가 없어야합니다. ; 기호는 if 문을 닫고 있으므로 inputtemp 값이 무엇이든 관계없이 항상 j.TextArea3.append() 행을 실행합니다.

위의 코드는 그러므로 다음과 같아야합니다 ...

if (jRadioButton1.isSelected()){ 
    String temp; 
    try { 
     for (int i = 0; i < 500; i++){ 
      temp = Integer.toString(Read.tempHigh[i]); 

      if (input.equals(temp)) { 
       j.TextArea3.append(temp); 
       j.TextArea3.append(input) 
      } 
     } 
    } 
    catch (NumberFormatException e){ 
     jTextArea3.append("Please enter a number"); 
    } 
} 
+0

오 와우, 고마워! 나는 오랫동안 그것을 엉망으로 만들고있는 것을 알아 내려고 노력했다. – user1419778

+0

문제 없습니다. - 놓치기 쉽습니다. – wattostudios

관련 문제