【问题标题】:Writing a Number Guessing program in JavaScript用 JavaScript 编写一个猜数程序
【发布时间】:2015-04-07 23:44:25
【问题描述】:

这是我试图解决的问题,这就是我所拥有的。我不确定我做错了什么,但它不会在 WebStorm 中运行:

alert("This is question 1");

var rndmNum = Math.rndmNum();
rndmNum = rndmNum * 100 + 1;
var i = 0;
do {
  var rndmNum = prompt;

  function guessNum(guess) {
    if (guess < rndmNum);
  }
  alert("Your guess is too low");
} else if (guess > rndmNum) {
  alert("Your guess is too high");
}
<!DOCTYPE html>
<html>

<head lang="en">
  <meta charset="UTF-8">
  <title>Question 1</title>
</head>

<body>
  <h1>Question 1</h1>
  <p>
    This is a page used to run/execute some JavaScript.
  </p>
  <p>
    Next <a href="question2.html">question</a>.
  </p>
  <p>
    Return <a href="index.html">home</a>.
  </p>
</body>

</html>

有没有人发现我所做的事情有任何问题或有任何建议?感谢反馈,谢谢

【问题讨论】:

    标签: javascript random numbers


    【解决方案1】:

    语法错误:

    function guessNum(guess)  {
        if (guess<rndmNum);
    }
        alert ("Your guess is too low");
    }
    else if (guess>rndmNum)  {
        alert("Your guess is too high");
    }
    

    应该是:

    function guessNum(guess)  {
        if (guess<rndmNum) {
            alert ("Your guess is too low");
        }
        else if (guess>rndmNum)  {
            alert("Your guess is too high");
        }
    }
    

    当你的 if 语句被警报分隔时,你有一个 else if。

    还有

    1. 您的括号 {} 没有正确闭合。
    2. do 在语法上不正确或不需要。
    3. Math.rndmNum() 不是真正的方法,认为你想要 Math.random()

    【讨论】:

      【解决方案2】:

      我只是简单地看了看。我真的不赞成回答家庭作业问题,但我会向你提出一个问题。

      如果有人输入了数字以外的东西怎么办?你检查答案是更低还是更高,但你永远无法确定它实际上是一个数字。

      您可能需要考虑在检查之前验证被检查的答案是一个数字,或者只检查您正在寻找的答案。

      另外,var i = 0。我假设您稍后会在代码中使用它,但i 几乎是一个通用的 JavaScript 变量。

      您正在做的是将全局变量i 设置为= 0,并且您很可能会在代码中的其他地方更改它。然后你可能会运行一个 for 循环来重写 i,或者你可能有一个扩展来重写它。

      考虑更独特地命名您的变量,或保留非函数或循环独有的变量范围。

      【讨论】:

        【解决方案3】:

        首先。如果要生成随机数,请使用: Math.random() 因为 Math.rndmNum 未定义

        提示是函数,要使用它你应该写:

        var rndmNum = prompt('geuss a number');

        将随机数从浮点数转换为整数:

        rndmNum = Math.floor(rndmNum * 100 +1);

        do-while 循环应该是:

        do  {
            var rndmNum = prompt('geuss a number');;
            function guessNum(guess)  {
                if (guess<rndmNum){
                    alert ("Your guess is too low");
                }else if (guess>rndmNum)  {
                    alert("Your guess is too high");
               }
            }
           i++;
        }while(i<10) // number of guesses
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-26
          • 1970-01-01
          • 2020-08-05
          • 1970-01-01
          • 1970-01-01
          • 2021-01-27
          相关资源
          最近更新 更多