如何解析数学表达式

时间:2013-05-14 10:00:48

标签: java formula expression-evaluation

我想了解像GeoGebra这样的Java程序如何从文本框中读取exp(z^2)之类的数学表达式,然后对其进行评估。对于熟悉MatLab的人:如何在Java中实现函数句柄?

1 个答案:

答案 0 :(得分:0)

如果它像评估数学表达式(INFIX),使用java,我会建议一种简单的方法,首先将表达式转换为POSTFIX表示法,然后遵循评估POSTFIX的基本算法。

看看这里

  1. 表达式 A * B + C
  2. POSTFIX将 AB * C +
  3. 读取后缀字符串,如果是操作数,则将其推入堆栈。 (IN stack - > A,B
  4. 如果运算符( * ),则弹出两个操作数,执行计算( A * B = E,比如说)。
  5. 将结果 E 推入堆栈
  6. 转到第3步。
  7. 堆叠中的最终结果将是您的答案。