2014-10-12 6 views
-3

숫자를 요청하고 2와 n 사이의 짝수를 계산하는 코드를 작성하고 있습니다.컴파일 할 때 도달 할 수없는 문

else if (n > 2) 
    { 
     while (n > r) 
     { 
      if (n < r) 
      { 
       break; 
       System.out.println(r); <-- now I'm getting an error here "unreachable statement" 
      } 
      else 
      { 
       sum +r = sum; 
       r = r + 2;          
      } 

그럼 컴파일 오류가 발생하지 않도록하려면 어떻게해야합니까 ??

+3

할당이 권리입니다. 달리기 후에 언제 명령을 기대합니까? –

+2

그런 질문을 편집하지 마십시오. 그것은 대답을 쓸모 없게 만듭니다. 다른 문제가있는 경우 다른 질문을하거나 문제가있는 기존 코드 아래에서 수정하십시오. –

+0

'n> r'이라면'while' 루프 만 입력하면'if (n

답변

0

sum + r은 변수가 아니므로 값을 할당 할 수 없습니다. 따라서 sum + r = sum;이 잘못되었습니다. 나는 당신이 sum = sum + r;을 가지고 있다고 생각합니다. 이것은 sum += r;으로 더 단순화 될 수 있습니다.

편집 :
이 답변을 게시 한 후 질문이 편집되었으므로 업데이트도해야합니다. break은 루프가 있으므로 그 이후에는 아무 것도 도달 할 수 없습니다. Java는 이러한 헛소리를 허용하지 않으므로 컴파일이 실패합니다. 이 주위에 한 가지 방법은 휴식 전에 인쇄 을 수행하는 것입니다 : 왼쪽에

if (n < r) 
{ 
    System.out.println(r); 
    break; 
} 
else 
{ 
    sum = sum + r; 
    r = r + 2;          
} 
+0

@DavidWallace 업데이트 된 질문을 처리 할 때 내 대답이 업데이트되었습니다. – Mureinik

관련 문제