字符作为方程式的运算符
Character as Operator for equations
我不认为这是可能的,因为在很多情况下它会变得烦人,但我认为至少可以安全地询问,有没有办法做到:
char operator = (Character) Utils.getProblemOperator(onPrev
? getPreviousMode()
: getMode());
Integer answer = -1, uanswer = Utils.getInt(answerField.getText());
if (operator == '+')
answer = (int) pInfo[onPrev ? 1 : 0][0] + (int) pInfo[onPrev ? 1 : 0][1];
else if (operator == '-')
answer = (int) pInfo[onPrev ? 1 : 0][0] - (int) pInfo[onPrev ? 1 : 0][1];
else if (operator == '×')
answer = (int) pInfo[onPrev ? 1 : 0][0] * (int) pInfo[onPrev ? 1 : 0][1];
else if (operator == '÷')
answer = (int) pInfo[onPrev ? 1 : 0][0] / (int) pInfo[onPrev ? 1 : 0][1];
关注这部分:
answer = (int) pInfo[onPrev ? 1 : 0][0] + (int) pInfo[onPrev ? 1 : 0][1];
变成这样的东西:
answer = (int) pInfo[onPrev ? 1 : 0][0] operator (int) pInfo[onPrev ? 1 : 0][1];
最终结果将是:
boolean onPrev = (boolean) pInfo[1][3];
char opperator = (Character) Utils.getProblemOperator(onPrev
? getPreviousMode()
: getMode());
Integer answer = -1, uanswer = Utils.getInt(answerField.getText());
answer = (int) pInfo[onPrev ? 1 : 0][0] operator (int) pInfo[onPrev ? 1 : 0][1];
据我所知,这是不可能的。我记得我不久前正在构建一个计算器,但我相信最终使用了一个 switch 语句。如果其他也很好。
我不认为这是可能的,因为在很多情况下它会变得烦人,但我认为至少可以安全地询问,有没有办法做到:
char operator = (Character) Utils.getProblemOperator(onPrev
? getPreviousMode()
: getMode());
Integer answer = -1, uanswer = Utils.getInt(answerField.getText());
if (operator == '+')
answer = (int) pInfo[onPrev ? 1 : 0][0] + (int) pInfo[onPrev ? 1 : 0][1];
else if (operator == '-')
answer = (int) pInfo[onPrev ? 1 : 0][0] - (int) pInfo[onPrev ? 1 : 0][1];
else if (operator == '×')
answer = (int) pInfo[onPrev ? 1 : 0][0] * (int) pInfo[onPrev ? 1 : 0][1];
else if (operator == '÷')
answer = (int) pInfo[onPrev ? 1 : 0][0] / (int) pInfo[onPrev ? 1 : 0][1];
关注这部分:
answer = (int) pInfo[onPrev ? 1 : 0][0] + (int) pInfo[onPrev ? 1 : 0][1];
变成这样的东西:
answer = (int) pInfo[onPrev ? 1 : 0][0] operator (int) pInfo[onPrev ? 1 : 0][1];
最终结果将是:
boolean onPrev = (boolean) pInfo[1][3];
char opperator = (Character) Utils.getProblemOperator(onPrev
? getPreviousMode()
: getMode());
Integer answer = -1, uanswer = Utils.getInt(answerField.getText());
answer = (int) pInfo[onPrev ? 1 : 0][0] operator (int) pInfo[onPrev ? 1 : 0][1];
据我所知,这是不可能的。我记得我不久前正在构建一个计算器,但我相信最终使用了一个 switch 语句。如果其他也很好。