2016-11-11 10 views
-3

간단한 if/else 문이 있으며 정상적으로 작동하지만 3 자 연산자를 사용하여 if/else 문으로 바꿀 때 작동하지 않습니다.else 연산자가있는 경우 else 연산자가 작동하지 않는 경우

if (UPorDOWN == -1) { 
    SEC_IN_VIEW++ 
    } else{ 
    SEC_IN_VIEW-- 
    } 

그래도 작동하지만 어떻게하면 3 진수 연산자로 if/else 문을 사용하여 만들 수 있습니까? 나는 이것을 시도했다.

(UPorDOWN == -1) ? SEC_IN_VIEW++ : SEC_IN_VIEW-- 

이 죄송하지만 acctually 문제가 있었다하지 않았다 이전 라인에 있었다 ";" 결국, 선은 길어 보였다. 그리고 그것은보기의 바깥쪽에 있었다. 그리고 나는 그것을 점검하는 것을 tottaly하는 것을 잊었다.

+1

. 어떤 결과를 기대합니까? 그리고 삼항 연산자를 사용할 때 어떤 일이 벌어지고 있습니까? –

+0

BTW 나는 for 루프를 사용하고있다. 그래서 UPorDown은 어떤 방법으로 SEC가 진행되는지 보여 주며 (나는 Math.sign을 사용하고있다.) SEC_IN_VIEW가 for 루프마다 증가하거나 감소해야 하는지를 결정해야한다. 반복 – Matija

+0

괜찮아요. – adeneo

답변

0

시도 할당 : 그것은 내 콘솔에서 나를 위해 일하고

SEC_IN_VIEW = (UPorDOWN == -1) ? SEC_IN_VIEW+1 : SEC_IN_VIEW-1; 

또는

SEC_IN_VIEW = (UPorDOWN == -1) ? SEC_IN_VIEW++ : SEC_IN_VIEW--; 
+0

Acctually 그것은 한 번만 작동합니다. 즉, 첫 루프 반복에서만 작동합니다. – Matija

+1

그래서 논리적 인 오류가 있습니다. 여기서 정확히 실패한 것은 무엇입니까? – Arvind