显然,我必须用JS和HTML编写简单的代码。它必须使用prompt询问最小和最大数字,并编写从最小到最大的阶梯。例如,对于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>发布于 2020-11-19 00:58:06
首先,数字不会是完美的阶梯,除非您使用等宽字体,也就是具有相同大小的字母/数字的字体
第二,使用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
例如:提示符是1&4,它循环显示1,然后显示2,然后显示3,然后输出4:
1
第2部分
第3部分
图3-4
发布于 2020-11-19 00:47:56
在javascript代码中有一些语法错误(您忘记了while循环中的OR运算符),并且在第一个while循环中,您询问isNUll(num2),这总是正确的
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>
https://stackoverflow.com/questions/64896039
复制相似问题