2017-03-08 90 views
-1

当我运行这段代码时,只有INVALID(超过100)和High Distinction起作用。任何低于80的数字也显示高分。我做错了什么?运行多个else if语句

function calculateGrade() { 
    var fvalue = Number(prompt('Please enter final score for unit. Enter a whole number only')); 

    document.write('The final score entered is ' + fvalue + '<br />'); 

    if (fvalue > 100) { 
     document.write('INVALID'); 
    } else if (80 <= fvalue <= 100) { 
     document.write('High Distinction'); 
    } else if (70 <= fvalue <= 79) { 
     document.write('Distinction'); 
    } else if (60 <= fvalue <= 69) { 
     document.write('Credit'); 
    } else if (50 <= fvalue <= 59) { 
     document.write('Pass'); 
    } else if (0 <= fvalue <= 49) { 
     document.write('Fail'); 
    } else if (fvalue < 0) { 
     document.write('INVALID'); 
    } 

} 

calculateGrade() 
+1

这似乎不是'java'!如果是详细的代码。如果不移除标签。 – nullpointer

回答

0

您的比较语法无效。您需要一次检查一个边界:

if (80 <= fvalue && fvalue <= 100) { 

其他相同。

要采取这一步,你只需要检查一个边界,因为高端由else排除:

if (fvalue > 100) { 
    document.write('INVALID'); 
} else if (80 <= fvalue) { 
    document.write('High Distinction'); 
} else if (70 <= fvalue) { 
// ... 
0

这不是Java。 但是你一定可以试试这个。

否则如果((F值> = 80)& &(F值< = 100)){ 文件撰写( '高辨');