常见的表达式计算lib有:
(1)parsii
String exp = "2 + (7-5) * 3.14159 * x + sin(0)";
// compile
Scope scope = Scope.create();
Expression parsiiExpr = Parser.parse(exp);
Variable var = scope.getVariable("x");
var.setValue(X_VALUE);
// evaluate
double result = parsiiExpr.evaluate();
System.out.println(result);//-> 2.0
(2)JEval
String exp = "2 + (7-5) * 3.14159 * #{x} + sin(0)";
// compile
Evaluator jevalEvaluator = new Evaluator();
jevalEvaluator.setVariables(Collections.singletonMap("x", Double.toString(X_VALUE)));
// evaluate
double result = Double.parseDouble(jevalEvaluator.evaluate(exp));
System.out.println(result);//-> 2.0
(3)JEPLite
String exp = "2 + (7-5) * 3.14159 * x + sin(0)";
// compile
JEP jep = new JEP();
jep.addVariable("x", X_VALUE);
jep.parseExpression(exp);
DoubleStack jepStack = new DoubleStack();
// evaluate
double result = jep.getValue(jepStack);
System.out.println(result);//-> 2.0
http://andreas.haufler.info/2013/12/how-to-write-one-of-fastest-expression.html
http://www.transylvania-jug.org/archives/5777
分享到:
相关推荐
在Java编程语言中,计算字符串表达式是一项常见的任务,它涉及到解析、编译和执行包含数学运算符和操作数的字符串。这篇博客“Java实现计算字符串表达式”可能讲解了如何利用Java来处理这种问题,虽然具体的实现细节...
然后,你可以通过`org_expressionj_Evaluator`类来实例化一个解析器,这个类提供了`evaluate(String expression)`方法用于计算字符串形式的数学表达式。 ```java import org.expressionj.Evaluator; public class ...
例如,`Expression`类用于创建表达式,`Evaluator`类则负责解析和执行表达式。通过这些接口,我们可以轻松地集成QLEXPRESS到现有的Java项目中。 7. **示例应用**:在`bin`目录下的可执行文件,可能是QLEXPRESS的...
在Java编程语言中,开发一个算术表达式计算类库是一项常见的任务,它涉及到解析、编译和执行数学表达式。ExpressionJ是一个这样的类库,它允许开发者处理复杂的数学表达式,无需手动实现复杂的解析算法。这个类库的...
在Java中,我们可以创建一个类,如`ExpressionEvaluator`,来实现这个功能。这个类可以接受一个字符串类型的输入,该字符串表示待求值的表达式。为了实现表达式求值,我们可能采用以下步骤: 1. **预处理**:清理...
JEP(Java Expression Parser)是一个强大的Java类库,专门用于解析和求值字符串形式的数学表达式。这个库使得在Java程序中处理复杂的数学运算变得简单直观,它能够有效地将字符串转换为可执行的数学计算。例如,你...
APCS-ExpressionEvaluator 是一个基于 Java 的项目,其主要功能是评估给定的数学表达式。这个项目深入探讨了 Java 编程语言的各种特性和设计模式,同时也涉及到计算机科学中的算法和数据结构,特别是与计算和解析...
例如,你可以使用它来计算基于变量的数学表达式,或者进行条件判断。 2. `expression4jCFG.jar`: 这个jar包可能包含了Expression4J的配置文件或额外的语法定义。配置文件可能用于定制表达式的解析规则,或者扩展其...
例如,可能存在一个`ExpressionEvaluator`类,提供一个`evaluate`方法,接受一个字符串形式的表达式作为参数,返回计算后的结果。开发者可以如下所示使用这个库: ```java import com.example.ExpressionEvaluator;...
标题"A-simple-expression-evaluation-class.zip_class A"指向的是一个用于计算简单数学表达式的Java类,我们将其称为"表达式求值类"。这个类能够处理基本的算术运算,包括加法、减法、乘法和除法。在编程领域,这种...
Java解析公式库`eval.jar`是一个专门为Java开发者设计的开源工具,它允许程序在运行时动态解析和执行数学表达式。这个库的核心功能是提供一个简单、高效的接口,用于处理包含加法(+)、减法(-)、乘法(*)、除法...
- 新增 `org.wltea.expression.ExpressionEvaluator.preparedCompile(String expression, Collection<Variable> variables)` 方法和 `org.wltea.expression.PreparedExpression` 类,支持表达式预编译。用户可以像...
2. **表达式计算**:ognl可以处理复杂的数学表达式,包括加减乘除、比较操作、逻辑运算等。 3. **方法调用**:ognl可以动态调用对象的方法,包括静态方法和实例方法。 4. **链式属性访问**:ognl支持链式属性访问...
`ognl-2.7.3-src` 是一个开源的 Java 表达式语言(Expression Language)框架 OGNL (Object-Graph Navigation Language) 的源代码包。OGNL 是一个强大的、灵活的表达式语言,它允许程序开发者在运行时查询和设置 ...
套件安装 努吉特 PM> Install-Package MathParser.org-mXparser -Version 4.4.2 Maven <groupId>org.mariuszgromada.math <artifactId>MathParser.org-mXparser <version>4.4.2 ...mXparser-适用于JAVA,And
2. **表达式语法**:OGNL表达式由属性路径、方法调用、索引访问、逻辑运算符、比较运算符、数学运算等组成,支持链式访问、集合操作等复杂操作。 3. **上下文(Context)与栈(Stack)**:在解析和执行表达式时,...
- **表达式求值**: 支持复杂的数学表达式,包括算术运算、比较操作、逻辑运算等。 - **函数支持**: 内置函数库,同时允许自定义函数,扩展表达式处理能力。 - **链式操作**: 可以对对象属性进行链式访问和操作,...