用JavaScript编写数字猜测程序

时间:2015-04-07 23:44:26

标签: javascript random numbers

这是我试图解决的问题,这就是我所拥有的。我不确定我做错了什么,但它不会在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>

有没有人看到我做了什么或有什么建议的问题?感谢您的反馈

3 个答案:

答案 0 :(得分:0)

出现语法错误:

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语句被警告分隔,则您有其他人。

另外

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

答案 1 :(得分:0)

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

如果有人放入一个号码以外的东西怎么办?你检查答案是否更低或更高,但你永远不会确定它实际上是一个数字。

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

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

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

考虑更加独特地命名变量,或者保持变量的范围不是函数或循环所独有的。

答案 2 :(得分:0)

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

提示是功能,使用它你应该写:

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

将随机数从float转换为整数:

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