2016-11-11 8 views
-3

Ich habe einfache if/else-Anweisung, und es funktioniert normal, aber nicht funktionieren, wenn ich es mit If/Else-Anweisung mit ternären Operator ersetzen.wenn sonst-funktioniert, wenn sonst mit ternären Operator nicht funktioniert

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

Das funktioniert, aber wie kann ich mit if/else-Anweisung mit ternären Operator arbeiten. Ich habe das versucht.

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

Sorry für diese aber acctually das Problem war in der vorhergehenden Zeile, die nicht hatten ";" Am Ende, aber die Linie war zu lang und es war außerhalb der Sichtweite und ich habe es total vergessen, das zu überprüfen.

+1

Es ist für mich in meiner Konsole arbeiten. Welches Ergebnis erwarten Sie normalerweise und was passiert, wenn Sie den ternären Operator verwenden? –

+0

BTW Ich benutze das in for-Schleife, so UPorDown zeigt, wie Sektionen (SEC) gehen, (ich benutze Math.sign für diese), und das sollte entscheiden, ob SEC_IN_VIEW in jeder for-Schleife inkrementiert oder dekrementiert werden sollte Iteration – Matija

+0

Scheint gut zu funktionieren – adeneo

Antwort

0

Try Zuordnung:

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

ODER

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

Eigentlich funktioniert es nur einmal, ich meine, funktioniert nur für die erste Schleife Schleife Iteration – Matija

+1

Also ich denke, es gibt einige logische Fehler. Was genau hier versagt? – Arvind