首页 > 解决方案 > 为什么数字不匹配?他们比要求的要高得多

问题描述

我在代码中取得了进展,但现在由于某种原因,要求的最小和最大数字不匹配!

我试图修复一些添加for循环的数字。但我想我只会让事情变得更糟。

我在 Dcoder(电话)上制作的

var rndList = [];
var rndList2 = [];

function GD() {
  var a = document.getElementById("MinS").value;
  var b = document.getElementById("MaxS").value;
  var c = document.getElementById("Min").value;
  var d = document.getElementById("Max").value;
  var e = document.getElementById("PrzNo").value;
  r = [a, b, c, d, e];
  return r;
}


var input = document.getElementsByClassName("o");

for (i = 0; i < input.length; i++) {
  input[i].addEventListener("change", function() {
    results = GD();
    var a = results[0];
    var b = (results[1] + 1);
    var c = results[2];
    var d = (results[3] + 1);
    var e = results[4];

    function raffle(MinS, MaxS, Min, Max, PrzNo) {
      function getRndInt(min, max) {
        return (Math.round(Math.random() * (max - min)) + min);
      }
      for (i = 0; i < PrzNo; i++) {
        rndList.push(getRndInt(MinS, MaxS));
      }
      for (i = 0; i < PrzNo; i++) {
        rndList2.push(getRndInt(Min, Max));
      }
    }
    raffle(a, b, c, d, e);
    for (i = 0; i < rndList.length; i++) {
      while (rndList[i] >= b) {
        rndList[i] = Math.round(rndList[i] / 10);
      }
    }
    for (i = 0; i < rndList2.length; i++) {
      while (rndList2[i] >= d) {
        rndList2[i] = Math.round(rndList2[i] / 10);
      }
    }
    for (i = 0; i < rndList.length; i++) {
      if (rndList[i] == 0) {
        rndList[i] = 1;
      }
    }
    for (i = 0; i < rndList2.length; i++) {
      if (rndList2[i] == 0) {
        rndList2[i] = 1;
      }
    }
    for (i = 0; i < rndList.length; i++) {
      window.alert("Serial: " + rndList[i] + " y Number: " + rndList2[i]);
    }
  });
};
.center {
  display: block;
  text-align: center;
  width: 50%;
  border: 1px dotted #f00;
  padding: 8px;
  margin: auto;
}
<form action="Raffle.html" method="post" name="frm">
  <p class="center"> Minimum Serial: <input class="center o" type="number" name="MinS" id="MinS"><br> Maximum Serial: <input class="center o" type="number" name="MaxS" id="MaxS"><br> Minimum Number: <input class="center o" type="number" name="Min" Id="Min"><br> Maximum
    Number: <input class="center o" type="number" name="Max" id="Max"><br> Amount of Prizes: <input class="center o" type="number" name="PrzNo" id="PrzNo"></p>
</form>

我希望你能找出问题所在。我还有一个问题,你知道一些重新组织你的代码的应用程序或网页吗?为了让它更漂亮。

标签: javascripthtml

解决方案


推荐阅读