JavaScript评分标准计算多个错误答案的错误?

时间:2017-09-20 06:52:17

标签: javascript jquery

我是新来的代码,所以我的错误很明显,但是, 当我去测试计算器时,它会读到" 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);

3 个答案:

答案 0 :(得分:0)

代码中的建议和错误

  1. 您已经解析为number,因此请保留数字中的'90'引号。
  2. 不要使用魔术名称和全局变量。您的函数接受grade参数。在你的代码中使用它。
  3. 您的if else条件错误。其中一些没有else if。您可以离开每个else if条件的第二部分。
  4. 返回您对该功能的final
  5. &#13;
    &#13;
    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;
    &#13;
    &#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);