a = Math.random();
b= Math.random();
az = Math.round(a);
bz = Math.round(b);
var chooseoperator = ['+','-','*','/'];
var operator = chooseoperator[Math.floor(Math.random() *chooseoperator.length)];
var final=az+operator+bz;
alert(final);
所以电脑发出警报," 1-0"或类似的东西。 如何让计算机解决它?
答案 0 :(得分:5)
您应该使用eval
:
alert(eval(final));
答案 1 :(得分:3)
如果您不想使用eval
,因为它为这么简单的任务运行整个解析器,您可以使用简单的switch
。
BTW:final
是保留字,不要将其用作变量名。
a = Math.random();
b = Math.random();
az = Math.round(a);
// to avoid division by zero
bz = Math.round(b) + 1;
var chooseoperator = ['+','-','*','/'];
var operator = chooseoperator[Math.floor(Math.random() *chooseoperator.length)];
var Final=az+operator+bz;
alert(Final);
var result;
switch(operator){
case '+' : result = az + bz;
break;
case '-' : result = az - bz;
break;
case '*' : result = az * bz;
break;
case '/' : result = az / bz;
// if you do not want the addition of 1 above
// check the result for "Infinity" and(!) "NaN" here, e.g.:
// if(Math.abs(result) === Infinity || isNaN(result)){
// alert("Division by zero")
// }
// "isNaN" checks for "0/0" and "Infinity" checks for x/0
break;
default: alert("something unexpected happend");
break;
}
// the result is now in the aptly named variable "result"
alert("result = " + result);
哦,我似乎太慢了。