轻松计算 Java 中的数学表达式
将动态公式计算合并到您的 Java 应用程序中可以极大地增强其功能。本文探讨了一种评估用户提供的数学表达式的解决方案,让您可以轻松使用“sin (x pi)/2 1”等复杂公式。
挑战
要计算给定的数学表达式,您需要一个能够理解数学语法并可以执行必要计算的工具。有多个库可用于此目的。
解决方案:exp4j
强烈推荐的一个库是 exp4j,它采用 Dijkstra 的 Shunting Yard 算法进行高效的表达式评估。它的易用性和小尺寸(大约 25KB)使其成为理想的选择。
使用 exp4j
要使用 exp4j,请创建一个 可计算对象,通过将表达式提供为字符串。然后,您可以使用 withVariable 方法设置公式中涉及的任何变量的值。最后,调用 calculate 方法来计算表达式。下面是一个示例:
<code class="java">Calculable calc = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)") .withVariable("x", varX) .withVariable("y", varY) .build(); double result1 = calc.calculate();</code>
对于较新版本的 exp4j,请使用 build 和 evaluate 方法:
<code class="java">Expression calc = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)") .variable("x", x) .variable("y", y) .build(); double result1 = calc.evaluate();</code>
自定义函数
exp4j 还允许您定义自定义函数,使您能够根据特定要求扩展其功能。有关自定义函数实现的详细信息,请参阅 exp4j 文档。
通过使用 exp4j,您可以轻松地计算 Java 中的数学表达式,从而增强应用程序的多功能性。
以上是如何轻松计算 Java 中的数学表达式?的详细内容。更多信息请关注PHP中文网其他相关文章!