我有以下一些代码,用于返回13和13之间的值。 -13不要加起来0.以下是有问题的javascript(我在下面包含了完整的JsFiddle):
$(document).ready(function() {
function GenerateRandomNumber() {
var min = -13,
max = 13;
var random = Math.floor(Math.random() * (max - min + 1)) + min;
return random;
}
var x = GenerateRandomNumber();
function GenerateRandomNumber2() {
var min2 = -13,
max2 = 13;
var random2;
while ((random2 + x) !== 0) {
random2 = Math.floor(Math.random() * (max2 - min2 + 1)) + min2;
}
return random2;
}
var xx = GenerateRandomNumber2();
$('#x').html(x);
$('#xx').html(xx);
$('#y').html(sum);
});
JsFiddle:http://jsfiddle.net/vL77hjp0/
然而,它似乎是返回等于0的值。我无法弄清楚为什么“!==”与我打算做的相反。任何帮助将不胜感激。
答案 0 :(得分:0)
你的while循环将继续尝试在值不为0时查找值。当你得到的值不是总和为0然后继续。
答案 1 :(得分:0)
Random2开始时等于零,因为您没有将其设置为具有值 然后检查它是否不为零。它是零,所以没有任何反应。 然后你返回Random2,它仍然为零。
答案 2 :(得分:0)
您应该将“while”更改为“do while”,因为您需要先生成一个随机数,然后检查总和是否为零。因此,我也改变了条件。
do {
random2 = Math.floor(Math.random() * (max2 - min2)) + min2;
} while ((random2 + x) === 0)