Java 中高效率的數學表達式求值
求值數學表達式是 Java 開發中常見的任務。這可以使用多種方法來實現,每種方法都有其優點和缺點。
exp4j 簡介
exp4j 是一個流行的 Java 表達式評估器函式庫,它利用 Dijkstra 的 Shunting Yard 演算法。其輕量級(約 25KB)和直覺的 API 使其成為許多應用程式的合適選擇。
使用exp4j 進行表達式求值
使用exp4j 求值數學表達式:
範例程式碼:
// Version 0.4.7 and below
Calculable calc = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)")
.withVariable("x", varX)
.withVariable("y", varY)
.build()
double result1=calc.calculate();
// Version 0.4.8 and above
Expression calc = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)")
.variable("x", x)
.variable("y", y)
.build();
double result1 = calc.evaluate();
exp4j 也支援自訂函數定義和評估,提供了進一步的靈活性。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3