2つの数字の間に乱数を生成する乱数ジェネレータを作成しようとしています。例えば、私は4と10の間の乱数を生成したいのは、言わせて、私は4から任意の数の中から選択できるようにしたい - ここに10.私が試したものです:Javascriptランダムな整数2つの数値の間
var randNumMin = 4;
var randNumMax = 10;
var randInt = (Math.floor(Math.random() * (randNumMax - randNumMin + 1)) + randNumMin);
しかし、その動作していないようで、4と10の間にない奇妙な乱数を生成しました。いくつかは0で始まりました。これを行う正しいアルゴリズムは何でしょうか?
$(function() {
$('#generateRandNums').click(function() {
var numCount = document.getElementById("randNumCount").value;
var randNumMin = document.getElementById("randNumMin").value;
var randNumMax = document.getElementById("randNumMax").value;
if (numCount.match(/^[\d]*$/) && randNumMin.match(/^[\d]*$/) && randNumMax.match(/^[\d]*$/)) {
if (numCount == "" || randNumMin == "" || randNumMax == "") {
alert ("Please fill out all forms then try again.");
} else {
if (randNumMin>randNumMax) {
alert ("Please make sure your first number is smaller than the second, then try again.");
} else {
if (randNumMin<0) {
alert ("Please make sure that you generate a positive number of random numbers, then try again.");
} else {
if (numCount>1) {
var randResult = ("You generated " + numCount + " random numbers between " + randNumMin + " and " + randNumMax + " and got the numbers ")
oneNumber = 0;
} else {
var randResult = ("You generated a random number between " + randNumMin + " and " + randNumMax + " and got the number ");
oneNumber = 1;
}
for (i=0;i<numCount;i++) {
//Get a random number between randNumMin and randNumMax
var randInt = (Math.floor(Math.random() * (randNumMax - randNumMin + 1)) + randNumMin);
if (i == numCount-1) {
if (oneNumber == 0) {
randResult = (randResult + "and " + randInt + ".");
} else {
randResult = (randResult + randInt + ".");
}
} else {
randResult = (randResult + randInt + ", ");
}
}
$("#randNumResults").val(randResult);
}
}
}
} else {
alert ("Make sure you only enter numbers and no spaces, then try again.");
}
});
});
私もこれでrandIntラインを交換してみました:それはまだ動作しませんでした
var randInt = Math.floor((Math.random() * ((randNumMax + 1) - randNumMin)) + randNumMin);
ここ
は私はアルゴリズムを実装していたコードです。 アルゴリズムが間違っているか、関数に間違っているかどうかはわかりません。答えはありがとう、ありがとう。これについて
が私のために正常に動作するようです。この_.randomのための素晴らしい有用性を有します。 – qw3n
よく見えます:http://jsfiddle.net/j08691/LYQKV/ – j08691
私はそれを実装している関数を追加します。 –