如何创建随机数学语句并让计算机解决它?

时间:2015-09-27 22:24:29

标签: javascript math random

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"或类似的东西。 如何让计算机解决它?

2 个答案:

答案 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);

哦,我似乎太慢了。