【问题标题】: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。
还有
- 您的括号 {} 没有正确闭合。
- do 在语法上不正确或不需要。
- 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