2017-03-08 135 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)){ 文件撰寫( '高辨');