【问题标题】:How to test one variable against multiple number ranges如何针对多个数字范围测试一个变量
【发布时间】:2015-02-15 04:37:17
【问题描述】:

我是一名学习 JavaScript 的学生。我还是新手,我需要一些帮助

我正在尝试创建一个脚本,告诉人们输入一个数字,这将是他们的平均水平,它会告诉他们他们得到的字母等级。

{
    alert("You got an A+, excellent!")

} else if (average   && 90-94) {
    alert("You got an A, congrats!")

} else if (average  87-89) {
    alert("You got an B+, great job!")

} else if (average  83-86) {
    alert("You got a B, good!")

} else if (average  80-82) {
    alert("You got a B-, good but push for an A!")

} else if (average  77-79) {
    alert("You got an C+, good but work harder!")

} else if (average  73-76) {
    alert("You got an C, work harder!")

} else if (average  70-72) {
    alert("You got a C-, work harder!")

} else if (average  65-69) {
    alert("you got a D, so poor!")

} else if (average <65) { 
    alert("F, see you next semester")

} else { 
    alert("Invalid, please try again")
}

现在的问题是,我不知道如何在每个部分中添加多个数字。我尝试了 && 和逗号,但它不起作用。

【问题讨论】:

    标签: javascript numbers


    【解决方案1】:

    你也可以这样做:

    var score = parseInt(prompt("Please enter score (0 to 100)"));
    
    switch (true) {
        case (score > 100 || score < 0):
            alert("Invalid, try again!");
            break;
        case (score >= 94):
            alert("You got an A+, excellent!");
            break;
        case (score >= 90):
            alert("You got an A, congrats!");
            break;
        case (score >= 87):
            alert("You got a B+, super!");
            break;
    
        // etc., etc.
    
        case (score >= 65):
            alert("D, so poor!");
            break;
        default:
            alert("F, see you next semester.");
    }
    

    【讨论】:

    • 阅读这个问题时,这正是我想到的
    【解决方案2】:
    } else if (average >= 90  &&  average <= 94) {
    

    等等

    【讨论】:

      【解决方案3】:
      var raw_value = 11.0;
      if (raw_value > 10.0) {
          alert("...");
      } else if (raw_value > 5.0) {
          alert("...");
      } else {
          alert("...");
      }
      

      从 num 从高到低检查,这样就不需要&amp;&amp; 进行范围检查。

      有一种方法可以以switch 的方式实现这一点,阅读更多here

      愉快的编码。

      【讨论】:

        猜你喜欢
        • 2016-12-20
        • 2021-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多