2017-12-20 10 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

は、第二 'if'は'他if'でなければなりません。理にかなっていますか? –

+0

これはうまくいきましたが、これを解決済みとするにはどうすればいいですか? – Zebob

答えて

0

elseは、第2のifにのみ適用されます。 20が1以上であるので、else分岐が実行されます。あなたは、厳密な条件の一つが入力されるようにしたい場合は、2番目のifelse ifに置き換えてください:

if (finalDistance > 10) { 
    dmgMulti = dmgMulti; 
} 
else if (finalDistance < 1) { // Here! 
    dmgMulti = dmgMulti + 0.5; 
} 
else { 
    dmgMulti = dmgMulti + (0.5/finalDistance); 
} 
関連する問題