在java中解析数学表达式的好库是什么?[已关闭]

2022-09-02 04:48:43

我是一名Android开发人员,作为我的下一个应用程序的一部分,我需要评估各种用户创建的数学表达式和方程式。我正在寻找一个好的Java库,它是轻量级的,可以使用用户定义的变量和常量,三角函数和指数函数等来评估数学表达式。

我环顾四周,Jep似乎很受欢迎,但我想听到更多的建议,特别是以前使用这些库的人。


答案 1

JEval是一个很好的选择。我放弃了Jep,因为它变得商业化。唯一令人担忧的是,JEval目前似乎有点休眠(最后一次发布是在2008年)。


答案 2

不久前,我写了一个简单但功能强大的数学表达式计算器,它是免费和开源的。它的主要优点是快速而小巧 - 两者都是手持设备的好处。如果它符合您的需求,欢迎您使用它。

主要特点:

  • 基本数学运算符,具有推断的优先级 (^ * × · / ÷ % + -)。
  • 带括号的显式优先顺序。
  • 括号内子表达式的隐式乘法。
  • 校正指数的右结合性(幂算子)。
  • 直接支持以 0x 为前缀的十六进制数字。
  • 常量和变量。
  • 可扩展运算符。
  • 可扩展函数。
  • 20 KiB 封装。

MathEval math=new MathEval();

math.setVariable("Top",    5);
math.setVariable("Left",  20);
math.setVariable("Bottom",15);
math.setVariable("Right", 60);

System.out.println("Middle: "+math.evaluate("floor((Right+1-Left)/2)"));

推荐