2017-12-20 4 views
1
if (finalDistance > 10) { 
    dmgMulti = dmgMulti; 
} 

if (finalDistance < 1) { 
    dmgMulti = dmgMulti + 0.5; 
} 

else { 
    dmgMulti = dmgMulti + (0.5/finalDistance); 
} 

finalDistance = 20과 같은 경우에도 여전히 실행 중입니다. 내가 끔찍한 일을하고 있습니까?이 if 문에서 else가 실행되는 이유는 무엇입니까?

+6

는 제 2 회'if'는'다른 if'해야한다. 이해가 안돼, 안돼? –

+0

감사합니다. 어떻게 해결 했습니까? – Zebob

답변

0

else은 두 번째 if에만 적용됩니다. 20이 1보다 작지 않으므로 else 분기가 실행됩니다. 당신이 엄격 조건 중 하나가 입력 할 경우 두 번째 ifelse if로 대체해야합니다

if (finalDistance > 10) { 
    dmgMulti = dmgMulti; 
} 
else if (finalDistance < 1) { // Here! 
    dmgMulti = dmgMulti + 0.5; 
} 
else { 
    dmgMulti = dmgMulti + (0.5/finalDistance); 
} 
관련 문제