[英]How to write simple "number stairs" with JavaScript?
显然,我必须用 JS 和 HTML 编写简单的代码。 它必须使用提示询问最小和最大数字,并从最小到最大写出楼梯。 例如,对于 min 2 和 max 6,结果将是:
2
3
4
5
6
我通过从左边距添加空格来解决它,但我的代码不起作用。 请帮助我优化和使代码工作。
<!DOCTYPE html>
<html>
<body>
<h2>Stairs generator</h2>
<button onclick="stairs()">Start</button>
<script>
function stairs() {
var max;
var min;
var space = ' '
var num1 = parseInt(prompt("Enter first number"));
while(num1==null isNaN(num2))
{
num1 = prompt("Enter first number")
}
var num2 = parseInt(prompt("Enter first number"));
while(num2==null isNaN(num2))
{
num2 = prompt("Enter second number")
}
if (num1 > num2)
{
max = num1;
min = num2;
}
else if (num1 < num2)
{
max = num2;
min = num1;
}
else
{
document.write(space = space + ' ')
document.write(num1 + '<br/>')
}
document.write('<p>');
while(min <= max)
{
document.write(space = space + ' ')
document.write(min + '<br/>')
min++
}
document.write('</p>')
}
</script>
</body>
</html>
首先,数字不会是完美的楼梯,除非您使用等宽字体,也就是具有所有相同大小字母/数字的字体
第二次使用while循环
var NumHolder;
var timesLooped = 0;
while(num1-1 < num2){
num1;
document.write += num1;
document.write += '<br>'
for(x = 0;x-1 < timesLooped;x++){
document.write += ' '
}
num1 ++;//adds 1 to var
}
所以它会循环直到 num1-1 等于 num2
例如:promts 是 1 & 4 它循环 1 个显示然后 2 个显示然后 3 然后 4 个输出:
1
2
3
4
您的 javascript 代码中有一些语法错误(您忘记了 while 循环中的 OR 运算符),并且在您询问的第一个 while 循环中 isNUll(num2) thisch 始终为真
function stairs() { var max; var min; var space = ' ' var num1 = parseInt(prompt("Enter first number")); while(num1==null || isNaN(num1)) { num1 = prompt("Enter first number") } var num2 = parseInt(prompt("Enter first number")); while(num2==null || isNaN(num2)) { num2 = prompt("Enter second number") } if (num1 > num2) { max = num1; min = num2; } else if (num1 < num2) { max = num2; min = num1; } else { document.write(space = space + ' ') document.write(num1 + '<br/>') } document.write('<p>'); while(min <= max) { document.write(space = space + ' ') document.write(min + '<br/>') min++ } document.write('</p>') }
<!DOCTYPE html> <html> <body> <h2>Stairs generator</h2> <button onclick="stairs()">Start</button> </body> </html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.