1

我最近使用 JavaScript 创建了一个成绩计算器......但脚本无法正常工作!

问题是..当我输入像“55”这样的数字时,结果显示在三个对话框中,一个是说“你得了 A+”,第二个是“你得了 A”,并显示了我添加到代码中的所有成绩

以下代码是

var name= prompt("Enter your name");

var number= prompt("Enter your number");

alert("Hello , " + name);

if ( number >= 80 ); {

alert("Hello you got A+");

} 

if ( number >= 70 ); {

alert("Hello you have got A");

}

 if ( number >= 60 ); { 

alert("Hello you have got A-");

 } if (number >= 50 );  { 

alert("Hello you have got B"); }

谁能帮我?怎么了 ?真的很抱歉我的英语不好!!

4

4 回答 4

4

你不应该放在;你的 if 语句之后。删除它们。

if (number >= 50 ); {
                  ^

另外,我猜您只希望根据输入的数字运行其中一个语句?else if's如果您只希望其中一个语句运行,您可以尝试使用。此外,parseInt()请在您的号码提示上使用。

这是一个有效的 jsFiddle


var name= prompt("Enter your name");   
var number= parseInt(prompt("Enter your number"));
alert("Hello , " + name);

if (number >= 80) {    
  alert("Hello you got A+");    
} 

else if ( number >= 70) {    
  alert("Hello you have got A");    
}

else if ( number >= 60) {     
  alert("Hello you have got A-");    
} 

else if (number >= 50) {    
  alert("Hello you have got B"); 
}
于 2013-04-29T11:23:21.290 回答
1

为了计算正确的成绩,您应该将代码更改为更改条件,如下所示:

var name= prompt("Enter your name");

var number= prompt("Enter your number");
alert("Hello , " + name);
if ( number >= 80 ) {
alert("Hello you got A+");
}
if ( number >= 70 && number < 80) {
alert("Hello you have got A");
}
if ( number >= 60  && number < 70 ) { 
alert("Hello you have got A-");
} if(number >= 50  && number < 60)  { 
alert("Hello you have got B"); }
于 2013-04-29T11:29:30.957 回答
0

使用前需要将数字解析为整数。默认情况下它是字符串。

  var number= parseInt(prompt("Enter your number"));

然后在所有 if 语句中,您都有“;”。删除它们。该代码将正常工作。

    window.onload = function() {
     var name= prompt("Enter your name");

     var number= parseInt(prompt("Enter your number"));

      alert("Hello , " + name);

      if ( number >= 80 ) {

       alert("Hello you got A+");

       } 

       if ( number >= 70 ) {

      alert("Hello you have got A");

            }

       if ( number >= 60 ) { 

      alert("Hello you have got A-");

        } if (number >= 50 )  { 

      alert("Hello you have got B"); }
       }
于 2013-04-29T11:29:47.490 回答
0

尝试使用“else if”而不是“if”作为替代选项。如果分数大于第一个选项,它也将大于所有其他选项,因此 if 将在所有情况下返回“true”。此外,如 Zenith 所述,删除 ; 在“if”条件之后,理想情况下使用 parseInt() 来确保您正在比较 Kirubhananth Chellam 建议的数字。

var name= prompt("Enter your name");

var number= prompt("Enter your number");

alert("Hello , " + name);

if ( number >= 80 ) {

    alert("Hello you got A+");

} 

else if ( number >= 70 ) {

    alert("Hello you have got A");

}

else if ( number >= 60 ) { 

    alert("Hello you have got A-");

}

else if (number >= 50 )  { 

    alert("Hello you have got B"); 
}
于 2013-04-29T11:34:57.993 回答