簡體   English   中英

在 JavaScript 中使用成績計算器時如何顯示錯誤消息?

[英]How to display error message when using a grade calculator in JavaScript?

下面是一個成績計算器,它會使用 if/else 語句將字母成績附加到輸入的數字上。 如果輸入了超出范圍的數字或非數值,我很難找到顯示錯誤消息的方法。 有什么建議? 謝謝!

    var entry;
    var letterGrade;

    entry = prompt("Enter number grade from 0 through 100\n" +
                   "Or enter 999 to end entries", 999);
    entry = parseInt(entry);

if (entry <= 59)
    letterGrade = "F";
else if (entry >= 60 && entry <= 69)
    letterGrade = "D";
else if (entry >= 70 && entry <= 79)
    letterGrade = "C";
else if (entry >= 80 && entry <= 89)
    letterGrade = "B";
else if (entry >= 90 && entry <= 100)
    letterGrade = "A";

    alert("Number grade = " + entry + "\n" +
          "Letter grade = " + letterGrade);

好吧,您的超出范圍將是大於 100 的任何值,因此您可以在最后使用 else 覆蓋它:

[..]
else if (entry >= 90 && entry <= 100)
    letterGrade = "A";
else
    alert("Error, your number " + entry + " was out of range (>100)");

至於它不是數字,您可以使用 isNaN():

if(isNaN(entry)){
    alert("That was not a number!");
else {
    if (entry <= 59)
        letterGrade = "F";
    ....
}

編輯:我看到您的輸入是 >0<101,因此要捕獲負數,您需要將其添加到您的第一個 if 語句中:

if (entry >= 0 && entry <= 59)

在開頭添加檢查以查看entry是否為有效輸入:

if(isNaN(entry) || entry < 0 || entry > 100)
    alert('Only a grade between 0 and 100 is allowed');

 var entry , letterGrade; entry = parseInt(prompt("Enter number grade from 0 through 100\\n" + "Or enter 999 to end entries", 999)); if(isNaN(entry) || entry < 0) alert('Only a grade between 0 and 100 is allowed'); else if (entry <= 59) letterGrade = "F"; else if (entry >= 60 && entry <= 69) letterGrade = "D"; else if (entry >= 70 && entry <= 79) letterGrade = "C"; else if (entry >= 80 && entry <= 89) letterGrade = "B"; else if (entry >= 90 && entry <= 100) letterGrade = "A"; alert("Number grade = " + entry + "\\n" + "Letter grade = " + letterGrade);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM