if (finalDistance > 10) {
dmgMulti = dmgMulti;
}
if (finalDistance < 1) {
dmgMulti = dmgMulti + 0.5;
}
else {
dmgMulti = dmgMulti + (0.5/finalDistance);
}
即使当finalDistance = 20仍然运行时,我在做某件事还是非常错误吗?
最佳答案
else
仅适用于第二个if
。由于20不小于1,因此执行else
分支。如果要严格输入条件之一,则第二个if
应替换为else if
:
if (finalDistance > 10) {
dmgMulti = dmgMulti;
}
else if (finalDistance < 1) { // Here!
dmgMulti = dmgMulti + 0.5;
}
else {
dmgMulti = dmgMulti + (0.5/finalDistance);
}