字符作为方程式的运算符

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 语句。如果其他也很好。