在 Java SE 8 中解析和求解公式

Parsing and Solving a Formula in Java SE 8

免责声明:不是作业

我已经使用分词器在 Java 中编写了非常基本的计算器解析器,但我最近开始编写一个问题来帮助我理解化学。随着我开始编写越来越多的公式,越来越明显的是,求解每个方程所需的复杂性几乎比掌握方程本身还要乏味。以等式 PV = nRT 为例,我如何编写一个允许我输入所有已知变量并求解它是否可解的解析器?我可以做可解性背后的逻辑,但这里有一些要求:

再一次,这纯粹是为了我的乐趣,并用作学习工具。任何帮助将不胜感激,因为在 Google 和 Whosebug 上搜索这个问题给了我模糊或不适用的答案。

既然你没有贴代码,我就说说我的想法。

我曾经有一个 hp48G 计算器,它有一个包含许多涵盖不同领域的公式的库。

无需解析一行,您必须通过菜单选择要应用的公式,然后计算器会分别询问每个参数,并将其应用于公式以提供结果。

如果你遵循这种方法,并帮助 java 的界面,我想你可以像你要求的那样做。