首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建具有最小和最大输入的乘法表

创建具有最小和最大输入的乘法表
EN

Stack Overflow用户
提问于 2022-05-16 03:30:25
回答 2查看 294关注 0票数 -1

我有一个程序,它用循环来创建乘法表。代码有两个输入部分:数字(乘数)和乘法器。用户输入需要两个数字来定义参数,但每个输入必须在2-10之间,否则会出现一个警告框,表示输入大于2-10。然而,仍然没有输出。

代码中是否有错误类型?谢谢。

代码:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <style>
     
    </style>
    <script>
      function addNumbers() {
    
    var multiplier;
        if (multiplier > 10 && multiplier < 2)
        {
            alert("Multiplier above maximum of 10");
            return;
    }
    
    var number;
        if (number < 2 && multiplier < 2)
        {
            alert("Number below minimum of 2");
            return;
    }
    
        var result = "";

    number = Number(document.getElementById("number").value);
    multiplier = Number(document.getElementById("multiplier").value);        
        
        
        for(var i = number; i <= multiplier; i++){
          result = result + "<p>"+ number + "*" + i + "=" + number * i+"</p>";
        }

        document.getElementById("result").innerHTML = result;
      }
    </script>
  </head>
  <body>
    </br>
    Enter the number : <input id="number" />
    Enter the multiplier : <input id="multiplier" />
    <br>    
    </br>
    <button onclick="addNumbers()">Print Multiplication table</button> 
    <div id="result">

  </body>
</html>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-16 03:55:18

优先: JS代码中没有嵌套循环,只有一个循环。嵌套循环由两个或多个循环组成,一个在另一个循环中,两个' for‘循环--例如,您有一个外部循环和一个内环,形成一个嵌套循环。

第二个:您有一些逻辑问题,让我们澄清:

如果您只期望数字,那么您的输入只需要数字,使用标记: type="number".

  • You不为您的结果div ''

  • For,您不需要关闭这个标记,这个标记是一个空元素,您可以只是'‘或最佳实践’,但是一个行中断,只有在某些情况下需要一个结束标记(与XHTML一起工作)。see this

第三:根据您的请求,您可以在输入中添加一个逻辑来管理最小值和最大值值(min="1“max="5"),但是在您的函数中,您需要验证这些值是否符合您的规则。

代码语言:javascript
运行
复制
if (number < multiplier) doStuff; else alert('error message');

代码语言:javascript
运行
复制
function addNumbers() {
  var multiplier;
  var number;
  number = Number(document.getElementById("number").value);
  multiplier = Number(document.getElementById("multiplier").value);
  if (multiplier > 12) {
    alert("Multiplier above maximum of 12");
    return;
  }
  if (number < 2) {
    alert("Number below minimum of 2");
    return;
  }
  var result = "";
  for (var i = number; i <= multiplier; i++) {
    result = result + "<p>" + number + "*" + i + "=" + number * i + "</p>";
  }
  document.getElementById("result").innerHTML = result;
}
代码语言:javascript
运行
复制
<!DOCTYPE html>
<html lang="en">
   <head>
      <style>
         p{
         color: #27186b;
         }
      </style>
   </head>
   <body>
      <br>
      Enter the number : <input id="number" type="number" min="2" max="12" />
      Enter the multiplier : <input id="multiplier" type="number" min="2" max="12" />
      <br>    
      <button onclick="addNumbers()">Print Multiplication table</button> 
      <div id="result"></div>
   </body>
</html>

票数 1
EN

Stack Overflow用户

发布于 2022-05-16 03:58:45

只需在条件之前赋值变量。

变量数= Number(document.getElementById("number").value);

变量乘数= Number(document.getElementById("multiplier").value);

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

https://stackoverflow.com/questions/72253905

复制
相关文章

相似问题

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