当前位置:  软件>java软件

Java的表达式计算引擎 Expr4J

    来源:    发布时间:2015-01-31

    本文导语:  Expr4J 是一个Java的表达式计算引擎,可以用来计算例如在 Excel 单元格中的表达式等。 示例代码: package org.boris.expr.util;import java.io.*;import org.boris.expr.*;import org.boris.expr.parser.ExprParser;public class ExprEvaluator{ public static void main(String...

Expr4J 是一个Java的表达式计算引擎,可以用来计算例如在 Excel 单元格中的表达式等。

示例代码:

package org.boris.expr.util;

import java.io.*;
import org.boris.expr.*;
import org.boris.expr.parser.ExprParser;

public class ExprEvaluator
{
public static void main(String[] args) throws Exception {
SimpleEvaluationContext context = new SimpleEvaluationContext();
System.out.println("Expr Evaluator v1.0");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true) {
try {
System.out.print(">");
String line = br.readLine();
if (line == null)
break;
Expr e = ExprParser.parse(line);
Exprs.toUpperCase(e);
if (e instanceof ExprEvaluatable) {
e = ((ExprEvaluatable) e).evaluate(context);
}
System.out.println(e);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

package org.boris.expr.util;

import org.boris.expr.BasicEngineProvider;
import org.boris.expr.engine.DependencyEngine;
import org.boris.expr.engine.Range;

public class DependencyExample
{
public static void main(String[] args) throws Exception {
DependencyEngine e = new DependencyEngine(new BasicEngineProvider());
e.set("B1", "=A1*2");
e.set("A1", "=12*2");
e.set("C1", "=B1*A1");
System.out.println(e.getValue(Range.valueOf("B1")));
System.out.println(e.getValue(Range.valueOf("C1")));
e.set("A1", "2");
System.out.println(e.getValue(Range.valueOf("B1")));
System.out.println(e.getValue(Range.valueOf("C1")));
}
}


    
 
 

您可能感兴趣的文章:

  • Java表达式引擎 Aviator
  • Java正则表达式 reb4j
  • Java表达式语言 JUEL
  • JAVA的类库中是否有正则表达式这样的东东?
  • Java表达式语法解析库 parboiled
  • Java表达式解析器 JExel
  • java 正则表达式基础,实例学习资料收集大全 原创
  • Java算术表达式计算类库 ExpressionJ
  • java正则表达式验证函数
  • java正则表达式获取url的host示例
  • java 公式解析 表达式解析 expression-analyzer
  • java正则表达式提取数字的方法实例
  • java正则表达式使用示例
  • java正则表达式验证邮箱、电话号码示例
  • java正则表达式应用的实例代码
  • java中 利用正则表达式提取( )内内容
  • 利用Java正则表达式校验邮箱与手机号
  • java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等)
  • java正则表达式解析html示例分享
  • 在JAVA中如何用正侧表达式
  • java使用正则表达为数字添加千位符的简单方法
  • 在java中,如何表达界于20和40之间?
  • 请问 java.lang.Float x= new java.lang.Float(request.getParameter("x"))的表达正确吗
  • java使用正则表达校验手机号码示例(手机号码正则)
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向 iis7站长之家
  • Java8新特性之Lambda表达式浅析
  • java正则表达式匹配网页所有网址和链接文字的示例
  • 通过Java正则表达式去掉SQL代码中回车换行和多余空格
  • java表达式计算 QLExpress
  • Java 正则表达式功能及应用
  • Java/Js下使用正则表达式匹配嵌套Html标签
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Java 模板引擎 Handlebars.java
  • Java 3D图形引擎 Catcake
  • Java模板引擎 Snippetory
  • Java 业务规则引擎 Drools
  • Java的演绎法规则引擎 JEOPS
  • 开源 Java 模板引擎 Webit Script
  • 嵌入式 Java HTTP引擎 AsyncWeb
  • Java 规划引擎 JBoss OptaPlanner
  • Java规则引擎 Mandarax
  • Java工作流引擎 OpenWFE
  • 开发java下的数据库程序,用什么数据库引擎?
  • 运行ActiveSheets的Java引擎 RefleX
  • Java规则引擎 Hammurapi Rules
  • 高性能的Java 3D引擎 Xith3D
  • jade 模版引擎的 Java 实现 Jade4j
  • UIMA分析引擎 UIMA Java
  • Java 模板引擎 JByte
  • java规则引擎 JRuleEngine
  • Java门户引擎 Lutece
  • Java的索引-搜索引擎 IndexTank
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3