【发布时间】:2011-10-06 23:18:50
【问题描述】:
我正在用 Java 编写表达式求值器。我希望能够添加更多运算符(我目前只有 (、)、+、-、*、/ 和 ^)。目前,我的代码如下所示:
case '+':
return a+b;
case '-':
return a-b;
case '*':
return a*b;
...
这适用于我的代码,因为我只有几个运算符。但是,如果我要添加更多运算符,代码会变得混乱。我正在寻找一种将运算符(由字符串表示)映射到方法的方法。例如,“ln”会映射到 Math.log(),“^”会映射到 Math.pow(),等等。
我该怎么做呢?如果不可行,有什么替代方案?
【问题讨论】:
-
查看前几天的a similar question。