2017-03-08 4 views
-1

Wenn ich diesen Code ausführen, funktioniert nur die INVALID (über 100) und High Distinction. Jede Zahl unter 80 zeigt ebenfalls eine hohe Unterscheidung. Was habe ich falsch gemacht?Mehrere andere if-Anweisungen ausführen

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

Dies scheint nicht 'Java' zu sein !! Wenn es sich um den Code handelt. Wenn nicht, entfernen Sie das Tag. – nullpointer

Antwort

0

Ihre Vergleichssyntax ist ungültig. Sie müssen jeweils eine Grenze auf einmal überprüfen:

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

Gleiches gilt für die anderen.

noch einen Schritt weiter zu nehmen, müssen Sie nur eine Grenze überprüfen, weil das höhere Ende des else ausgeschlossen:

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

Das ist nicht Java ist. Aber Sie können das sicherlich versuchen.

else if ((fvalue> = 80) & & (fvalue < = 100)) { document.write ('High Distinction');

Verwandte Themen