के बीच मैं एक यादृच्छिक संख्या जनरेटर बनाने की कोशिश कर रहा हूं जो दो संख्याओं के बीच यादृच्छिक संख्या उत्पन्न करता है। उदाहरण के लिए, मान लीजिए कि मैं 4 और 10 के बीच एक यादृच्छिक संख्या उत्पन्न करने के लिए चाहते हैं, मैं इसे से 4 किसी भी संख्या से चुनने के लिए सक्षम होने के लिए चाहते हो जाएगा - 10 यहाँ मैं क्या करने की कोशिश की है:जावास्क्रिप्ट रैंडम इंटीजर दो नंबर
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);
यह अभी भी काम नहीं किया
यहाँ कोड मैं में एल्गोरिथ्म को लागू कर रहा हूँ है। मुझे यकीन नहीं है कि एल्गोरिदम गलत है या मैं इसे फ़ंक्शन में गलत शामिल कर रहा हूं। एक जवाब की सराहना की है, धन्यवाद।
मेरे लिए ठीक काम करने के लिए लगता है के लिए एक अच्छी उपयोगिता है। – qw3n
ठीक लगता है: http://jsfiddle.net/j08691/LYQKV/ – j08691
मैं उस फ़ंक्शन को जोड़ दूंगा जिसमें मैं इसे कार्यान्वित कर रहा हूं। –