Java第三方库——Jep数学公式计算
Java第三方库——Jep数学公式计算
官网简介:JEP JAVA仅用几行代码解析和计算数学表达式。这个包允许用户以字符串的形式输入公式,并立即对其求值。JEP支持用户定义的变量、常量和函数。包括一些常用的数学函数和常量。
1.下载3.x版本依赖并引入
官方网站:http://www.singularsys.com/jep/download-trial.php
由于Maven仓库中目前没有3.x版本的jep,需要手动下载引入到项目中
下载的压缩包中包含jar包,放入项目目录下并在pom.xml中引入,这里我是放到了resources/lib下
<dependency><groupId>com.singularsys</groupId><artifactId>jep</artifactId><version>3.5</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/jep-java-3.5-trial.jar</systemPath></dependency>
2.使用并测试
这里主要测试了四种情况:
- 常规数字构成的公式
- 公式中分母为0
- 布尔表达式
- 逻辑运算
具体测试代码如下:
import com.singularsys.jep.Jep;
import com.singularsys.jep.JepException;public class jepTest {public static void main(String[] args) {try {Jep jep=new Jep();//常规公式String formula1 = "3x+4y+-5z";jep.addVariable("x",1);jep.addVariable("y",1);jep.addVariable("z",1);jep.parse(formula1);System.out.println("测试公式1:"+jep.evaluate().toString());//公式中分母为0String formula2 = "3/0";jep.parse(formula2);System.out.println("测试公式2:"+jep.evaluate().toString());//布尔表达式String formula3 = "3>=0";jep.parse(formula3);System.out.println("测试公式3:"+jep.evaluate().toString());//逻辑运算
// String formula4 = "1&&0";
// String formula4 = "1||0";String formula4 = "1!=1";jep.parse(formula4);System.out.println("测试公式4:"+jep.evaluate().toString());} catch (JepException e) {e.printStackTrace();}}}
运行结果:
测试公式1:2.0
测试公式2:Infinity
测试公式3:true
测试公式4:false
Java第三方库——Jep数学公式计算相关推荐
- 最受欢迎的Java第三方库
目录 前言 Core核心库 HTML, XML解析 Web框架 图标,报表,图形 窗口库 GUI框架 自然语言处理 静态分析 JSON 数学 日志 Office相关 日期和时间 数据库 开发工具 前言 ...
- java 第三方库common系统详解
IT技术员最讨厌的一件事应该是重复造轮子,我就直接引用大神的文章了,转载也为了以后好找: http://zhoualine.iteye.com/blog/1770014 如何稍微注意平常的库,会发现很 ...
- Argis通过Python的Arcpy第三方库进行字段计算、批量将mxd导出为jpg图片、合并数据库
前言 近来公司有开发Arcgis脚本工具的需求,我就去学了一下用Arcpy来操作Arcgis的数据,今天学习了字段计算,将学习成果记录如下. arcpy帮助文档传送门:https://reso ...
- Java -- JodaTime第三方库操作时间
Java自带日期格式化工具DateFormat ,但是DateFormat 的所有实现,包括 SimpleDateFormat 都不是线程安全的,因此不应该在多线程序中使用,除非是在对外线程安全的环境 ...
- JAVA程序员一定知道的优秀第三方库(2016版)
几乎每个程序员都知道要"避免重复发明轮子"的道理--尽可能使用那些优秀的第三方框架或库,但当真正进入开发时,我却经常发现他们有时并不知道那些轮子在哪里.最近,我在业余时间带几个年轻 ...
- java 数学计算库_数学计算工具类
[java]代码库/** * Description: [数字计算工具类] * @version 1.0 */ public class MathUtils { /** 一百的常量 */ privat ...
- GitHub上那些值得一试的JAVA开源库--转
原文地址:http://www.jianshu.com/p/ad40e6dd3789 作为一名程序员,你几乎每天都会使用到GitHub上的那些著名Java第三方库,比如Apache Commons,S ...
- java第三方包_java第三方包学习之lombok
前言 Laziness is a virtue! 每当写pojo类时,都会重复写一些setter/getter/toString方法等大量的模版代码,无聊繁琐却又不得不做,这会让这个类变得又臭又长,却 ...
- Java第三方工具库/包汇总
一.科学计算或矩阵运算库 科学计算包: JMathLib是一个用于计算复杂数学表达式并能够图形化显示计算结果的Java开源类库.它是Matlab.Octave.FreeMat.Scilab的一个克隆, ...
- 不是python中用于开发用户界面的第三方库-Python计算生态习题(50题)
1.Python网络爬虫方向的第三方库是 A. request B. jieba C.itchat D.time 答案:A 2.Python网络爬虫方向的第三方库是 A.numpy B.scrapy ...
最新文章
- 通过PXE网络安装ESXI6
- 部分和问题 (dfs搜索 尺取)
- 身份证识别——iOS端实现身份证检测
- Linux usb bus日志如何打开,从linux usb bus节点来认识usb linux usb认识
- linux perl的while循环中ctrl+c失效,perl循环控制
- 逻辑回归(LR)个人学习总结篇
- Pandas index详解
- 有名无实别占地儿──巧用批处理快删空文件夹
- 黑马vue实战项目-(六)商品列表组件的开发
- python之单例模式
- Excel中文转拼音【真正的完整版】 拼音 驼峰命名专用
- Excel的科学计数法
- vss 迁入后,服务器上面的文件没有变化,VSS迁移
- openGL基础光照“ADS”( Phone光照模型)(一)
- 4步彻底关闭win10的自动更新功能
- 解决 VS Code 卡顿 卡死 电脑变卡 CPU 运行高
- 我喜欢你c语言程序设计,我喜欢你,表白代码怎么说
- FlappyBird游戏介绍
- 进阶版--Mongodb命令汇总
- 中国视频展台市场现状研究分析与发展前景预测报告(2022)
热门文章
- readelf的使用
- access统计行数 vb_VB代码行数统计工具
- Python 语言参考手册
- python库中文手册_Python3.8.1标准库参考中文手册(The Python Library Reference) 高清pdf版...
- 【数学】3D数学基础
- 重庆市最新轨道交通SHP数据 - 202201
- qq家园纵横四海的源码
- 不只是AlphaGo,谷歌DeepMind到底是何方神圣?
- 【IT基础】如何休息(每天都很累,但你真的会正确的休息方式么)
- 最经典的PS入门笔记,来自李涛老师的高手之路