存储数学公式

问题描述 投票:0回答:1

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

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

 A*B+ (C/D*E)

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

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

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

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

谢谢

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

java math formula
1个回答
3
投票

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

编辑:评估可以是implemented via stack

© www.soinside.com 2019 - 2024. All rights reserved.