首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用JavaScript编写简单的“数字阶梯”?

如何用JavaScript编写简单的“数字阶梯”?
EN

Stack Overflow用户
提问于 2020-11-18 23:22:05
回答 2查看 69关注 0票数 1

显然,我必须用JS和HTML编写简单的代码。它必须使用prompt询问最小和最大数字,并编写从最小到最大的阶梯。例如,对于min 2和max 6,结果将是:

代码语言:javascript
复制
2
 3
  4
   5
    6

我通过从左边距添加空格解决了这个问题,但是我的代码不能工作。请帮助我优化和使代码工作。

代码语言:javascript
复制
 <!DOCTYPE html>
<html>
<body>

<h2>Stairs generator</h2>

<button onclick="stairs()">Start</button>

<script>
     
     function stairs() {
     var max;
     var min;
     var space = '&nbsp;'
     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 + '&nbsp;&nbsp;&nbsp;')
            document.write(num1 + '<br/>')
        }
        document.write('<p>');
        while(min <= max) 
        {
            document.write(space = space + '&nbsp;&nbsp;&nbsp;')
            document.write(min + '<br/>')
            min++
        }
        document.write('</p>')
        }
</script> 
</body>
</html>
EN

回答 2

Stack Overflow用户

发布于 2020-11-19 00:58:06

首先,数字不会是完美的阶梯,除非您使用等宽字体,也就是具有相同大小的字母/数字的字体

第二,使用while循环

代码语言:javascript
复制
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 += '&nbsp;'
   }
   num1 ++;//adds 1 to var
}

因此它将循环,直到num1-1等于num2

例如:提示符是1&4,它循环显示1,然后显示2,然后显示3,然后输出4:

1

第2部分

第3部分

图3-4

票数 1
EN

Stack Overflow用户

发布于 2020-11-19 00:47:56

在javascript代码中有一些语法错误(您忘记了while循环中的OR运算符),并且在第一个while循环中,您询问isNUll(num2),这总是正确的

代码语言:javascript
复制
     function stairs() {
     var max;
     var min;
     var space = '&nbsp;'
     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 + '&nbsp;&nbsp;&nbsp;')
            document.write(num1 + '<br/>')
        }
        document.write('<p>');
        while(min <= max) 
        {
            document.write(space = space + '&nbsp;&nbsp;&nbsp;')
            document.write(min + '<br/>')
            min++
        }
        document.write('</p>')
        }
代码语言:javascript
复制
 <!DOCTYPE html>
<html>
<body>

<h2>Stairs generator</h2>

<button onclick="stairs()">Start</button>

</body>
</html>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64896039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档