如何在1到9999之间创建100个4位数的随机数,并将数字排成10行,每行10个数字

How to create 100 random numbers between 1 and 9999 with 4 digits, and place numbers in 10 rows of 10 numbers?

本文关键字:数字 随机数 10个 每行 10行 9999 之间 4位 100个 创建      更新时间:2023-09-26

有一个问题,弄清楚如何得到这个解决,我已经搜索和寻找答案,但他们不像我在寻找什么。这是初学者的东西,我意识到,但任何帮助将高度赞赏。

下面的代码是我的老师给的,它可以创建一个随机数。对于我的生活,我想不出如何使它创建100个随机数,并使它们的10 × 10的平方。

eg. 5468 2367 1587 2587 2310 9802 0154 8753 4965 2571
    3249 3248 2158 4659 1321 1278 9871 0123 4654 4587
    etc. for 10 rows.
<div id="answerswer"></div>
<script type="text/javascript">
function giveValues() {
var length, zeroes;
var number = Math.round((Math.random() * 9999));
// toString()-method and lenght to set amount of digts
zeroes = 4 - number.toString().length;
for (var j = 1; j <= zeroes; j++) {
number = "0" + number;
}
return number;
}
document.getElementById("answerswer").innerHTML = giveValues();

我也知道有if (j % nameofvar == 0){用于制作新行,但我无法使其工作

考虑到您还没有学习数组,请尝试以下内容,因为我认为它最好与您正在寻找的内容内联。这是一个普朗克http://plnkr.co/edit/LltYPtSfR9Ndo46kYmVN?p=preview。

<div id="answerswer"></div>
<script>
  function giveValues() {
    var length, zeroes;
    var number = Math.round((Math.random() * 9999));
    // toString()-method and lenght to set amount of digts
    zeroes = 4 - number.toString().length;
    for (var j = 1; j <= zeroes; j++) {
      number = "0" + number;
    }
    return number;
  }
  var columns = 10;
  var total = 100;
  var bigString = "";
  for (var i=0; i<total; i++) {
    if (i != 0 && i % columns == 0) {
      bigString += "<br/>";
    }
    bigString += giveValues(i).toString() + " ";
  }
  var answer = document.getElementById("answerswer");
  answer.innerHTML = bigString;
</script>

最基本的方法:

      function lpad(number) {
    while (number.toString().length < 4) {
        number = "0"+number;
    }
    return number;
}
var max = 9999;
var matrix = [];
var size = 10;
for (var i = 0; i < size * size; i++) {
    if (i % size === 0) {
        matrix.push([]);
    }
    var number = lpad(Math.ceil(Math.random() * max));
    matrix[matrix.length - 1].push(number);
}
document.getElementById("answerswer").innerHTML = matrix.join("<br />");
<div id = "answerswer"></div>

使用数组更有效,但您也可以简单地连接。

你可以生成一个大的随机数,然后将其限制为4位。

试试这个:

function giveValues() {
  var number = Math.round((Math.random() * 999999999));
  return number.toString().substr(0, 4);
}
var arr = [];
for(var i = 0; i < 10; i++){
    arr.push([giveValues(), giveValues(), giveValues(), giveValues(), giveValues(), giveValues(), giveValues(), giveValues(), giveValues(), giveValues()]);
}
document.getElementById("answerswer").innerHTML = arr.join(' <br/>').replace(/,/g,' ');
https://jsfiddle.net/moshekarmel1/34spm4hh/