从用户输入生成随机数



我一直在尝试编写一个代码,提示用户输入最小值和最大值,以便从这两个值的间隔中返回一个随机值。已经好几个小时了,我真的不明白自己做错了什么。也请原谅我,我是一名学生,所以我仍在努力理解这些基本的东西。

我试过运行代码,但它返回";NaN";。我认为这里的问题是关于变量或其他什么的,所以有人能试着指出它吗?

function userInput(low,high){
return prompt("Enter a minimum value:");
return prompt("Enter a maximum value:");
}
function generateNum(){
return Math.floor(Math.random()*max-min+1)+min;
}
function outputNum(q){
document.getElementById("text1").innerHTML = q;
}
outputNum("Randomly generated number: "+generateNum());

var min = parseInt(userInput());
var max = parseInt(userInput());

这是一个工作片段。我纠正了几点(缺少括号,函数中永远无法到达的第二个返回(更多(。

function generateNum(){
[min,max]=[+prompt("Enter a minimum value:"),
+prompt("Enter a maximum value:")].sort();
return min+Math.floor(Math.random()*(max-min+1));
}
document.getElementById("text1").innerHTML = "Randomly generated number: "+generateNum();
<div id="text1"></div>

我进一步简化了它,并添加了一个.sort()。只要在提示对话框中输入了实际数字,就会有最小值和最大值。不需要可选的错误消息。

的另一种方法

<!DOCTYPE html>
<html>
<title> Random Between Min & Max </title>
<body>
<h2>Random Between Min & Max</h2>
<button onclick="randBetween()">Try it</button>
<p id="random"></p>
<script>
function randBetween() {
 let min = parseInt(prompt("Please enter minimum number"));
 let max = parseInt(prompt("Please enter maximum number"));
 if (min !=null && max != null && min < max) {
 let randBetween = Math.floor(Math.random() * (max - min + 1)) + min;
document.getElementById("random").innerHTML = randBetween;
}else{
alert("Enter min and max value and max value must be greater than min");
}
}
</script>
</body>
</html>

相关内容

  • 没有找到相关文章

最新更新