[英]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.