我希望我的JavaScript能够随机选择使用 public boolean equalBuffers(StringBuffer sb1, StringBuffer sb2) {
if (sb1 == sb2) {
return true;
}
int len = sb1.length();
if (len != sb2.length()) {
return false;
}
for (int i = 0; i < len; i++) {
if (sb1.charAt(i) != sb2.charAt(i)) {
return false;
}
}
return true;
}
运算符减去或使用-
运算符添加。无论如何我可以让它随机选择两者之间吗?
答案 0 :(得分:1)
是的,你可以。
获取随机数
Math.random();
如果随机数小于0.5,则乘以-1,否则什么都不做。
答案 1 :(得分:1)
正如@Chizzle所说,要走的路是Math.random(),但是如果你想要更精确一点,你应该使用:
Math.random() <= 0.5
这种方式的机会是50到50,间隔可以用[0,0.5]和[0.5,1]来描述。 Math.random()返回0(包括)和1(不包括)之间的随机数。
这是一个带有函数的简单代码片段:
function randSumSub(a, b) {
if (Math.random() <= 0.5) {
result = a - b;
} else {
result = a + b;
}
return result;
}
&#13;
#result {
display: inline-block;
width: 20px;
height:20px;
text-align: center;
border: 1px solid red;
}
&#13;
2 +|- 5
<button onclick="document.getElementById('result').innerHTML = randSumSub(2,5);">=</button>
<div id="result">?</div>
&#13;
答案 2 :(得分:0)
我会做这样的事情:
function getSignMultiplier() {
if (Math.random() < 0.5) {
return -1;
} else {
return 1;
}
}
然后使用它:
var numbers = [
5 * getSignMultiplier(),
5 * getSignMultiplier(),
5 * getSignMultiplier()
];
document.getElementById('output').innerText = numbers.join(', ');
JSFiddle:https://jsfiddle.net/2snbgyw2/1/
答案 3 :(得分:0)
我建议使用内联语法和其他人提到的Math.random()技巧:
var a = 1;
var b = 2;
var a_plusOrMinus_b = (Math.random()<=0.5 ? a+b : a-b);
alert(a_plusOrMinus_b);