存储数学公式

时间:2017-12-19 12:55:24

标签: java math formula

我正在开发一个应用程序,让用户可以用变量创建数学公式,然后可以使用它们。

用户可以创建的数学公式示例:

 A*B+ (C/D*E)

创建公式后,用户可以在计算中使用它,因此我应该解析它并检索不同的变量(在我们的示例中:" A,B,C,D和E")并创建用于输入这些变量值的表格。

我的问题是:我如何储存我的配方?

我想到了一个String,我会手动解析以检索变量,并使用Maths.eval来计算公式。 或者,我可以将我的公式存储在JSON中,以便在以后恢复变量。

您认为正确的方法是什么?

谢谢

注意:我知道我的问题可能拼写错误,我道歉。

1 个答案:

答案 0 :(得分:3)

表示,解析和评估此类公式的常用方法是使用Binary expression tree。当必须处理运算符优先级(*前+),括号等时,这尤其有用。此外,树遍历是解决此类问题的自然方法,可以使用不同的遍历类型(按顺序,预订,......)。

编辑:评估可以是implemented via stack