我是新来的代码,所以我的错误很明显,但是, 当我去测试计算器时,它会读到" A"然后在哪里适当的等级应该是未定义的。我在哪里出错了。 我尝试了很多不同的变体,但无法使计算器正常工作。我不确定问题出在哪里。
function calculateGrade(grade) {if (parseInt >= "90"){
alert ("A");
}
else if (parseInt >= "80" === parseInt < "90"){
alert ("B");
}
else (parseInt >= "70" === parseInt < "80");{
alert ("C");
}
if (parseInt >= "60" === parseInt < "70"){
alert ("D");
}
else if (parseInt < "60"){
alert ("F");
}}
var inputGrade = prompt("Enter a grade:");
var parsedInt = parseInt(inputGrade);
var finalGrade = calculateGrade(parsedInt);
alert(finalGrade);
答案 0 :(得分:0)
代码中的建议和错误
number
,因此请保留数字中的'90'
引号。 grade
参数。在你的代码中使用它。if else
条件错误。其中一些没有else if
。您可以离开每个else if
条件的第二部分。final
。
function calculateGrade(grade) {
let final = '';
if (grade >= 90) {
final = 'A';
} else if (grade >= 80) {
final = 'B';
} else if (grade >= 70) {
final = 'C';
} else if (grade >= 60) {
final = 'D';
} else {
final = 'F';
}
return final;
}
let inputGrade = prompt("Enter a grade:");
let parsedInt = Number.parseInt(inputGrade);
let finalGrade = calculateGrade(parsedInt);
alert(finalGrade);
&#13;
答案 1 :(得分:0)
您可以使用提前退出的模式并开始将最小值检查到最大值。
提前退出返回一个函数,不再执行检查,因为该函数以return
语句结束。
对于带parseInt
的整数值,你应该使用10
的基数,因为没有和带前导零的数字被视为八进制数,这是你不想要的。
最后一条建议,请不要将函数或对象或保留字的构建名称用作变量名。这可能导致不正确的工作代码和无理搜索。
function calculateGrade(grade) {
if (grade < 50){
return "F";
}
if (grade < 60){
return "E";
}
if (grade < 70) {
return "D";
}
if (grade < 80) {
return "C";
}
if (grade < 90) {
return "B";
}
return "A";
}
var inputGrade = prompt("Enter a grade:"),
grade = parseInt(inputGrade, 10),
finalGrade = calculateGrade(grade);
console.log(finalGrade);
答案 2 :(得分:0)
试试吧
function calculateGrade(grade) {
if (grade < 60){
alert ("F");
}
else if (grade >= 60 && grade < 70){
alert ("D");
}
else if(grade >= 70 && grade < 80);{
alert ("C");
}
else if (grade >= 80 && grade < 90){
alert ("B");
}
else if (grade >= 90){
alert ("A");
}
}
var inputGrade = prompt("Enter a grade:");
var parsedInt = parseInt(inputGrade);
var finalGrade = calculateGrade(parsedInt);
alert(finalGrade);