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数学公式计算相关推荐

  1. 最受欢迎的Java第三方库

    目录 前言 Core核心库 HTML, XML解析 Web框架 图标,报表,图形 窗口库 GUI框架 自然语言处理 静态分析 JSON 数学 日志 Office相关 日期和时间 数据库 开发工具 前言 ...

  2. java 第三方库common系统详解

    IT技术员最讨厌的一件事应该是重复造轮子,我就直接引用大神的文章了,转载也为了以后好找: http://zhoualine.iteye.com/blog/1770014 如何稍微注意平常的库,会发现很 ...

  3. Argis通过Python的Arcpy第三方库进行字段计算、批量将mxd导出为jpg图片、合并数据库

    前言   近来公司有开发Arcgis脚本工具的需求,我就去学了一下用Arcpy来操作Arcgis的数据,今天学习了字段计算,将学习成果记录如下.   arcpy帮助文档传送门:https://reso ...

  4. Java -- JodaTime第三方库操作时间

    Java自带日期格式化工具DateFormat ,但是DateFormat 的所有实现,包括 SimpleDateFormat 都不是线程安全的,因此不应该在多线程序中使用,除非是在对外线程安全的环境 ...

  5. JAVA程序员一定知道的优秀第三方库(2016版)

    几乎每个程序员都知道要"避免重复发明轮子"的道理--尽可能使用那些优秀的第三方框架或库,但当真正进入开发时,我却经常发现他们有时并不知道那些轮子在哪里.最近,我在业余时间带几个年轻 ...

  6. java 数学计算库_数学计算工具类

    [java]代码库/** * Description: [数字计算工具类] * @version 1.0 */ public class MathUtils { /** 一百的常量 */ privat ...

  7. GitHub上那些值得一试的JAVA开源库--转

    原文地址:http://www.jianshu.com/p/ad40e6dd3789 作为一名程序员,你几乎每天都会使用到GitHub上的那些著名Java第三方库,比如Apache Commons,S ...

  8. java第三方包_java第三方包学习之lombok

    前言 Laziness is a virtue! 每当写pojo类时,都会重复写一些setter/getter/toString方法等大量的模版代码,无聊繁琐却又不得不做,这会让这个类变得又臭又长,却 ...

  9. Java第三方工具库/包汇总

    一.科学计算或矩阵运算库 科学计算包: JMathLib是一个用于计算复杂数学表达式并能够图形化显示计算结果的Java开源类库.它是Matlab.Octave.FreeMat.Scilab的一个克隆, ...

  10. 不是python中用于开发用户界面的第三方库-Python计算生态习题(50题)

    1.Python网络爬虫方向的第三方库是 A. request B. jieba C.itchat D.time 答案:A 2.Python网络爬虫方向的第三方库是 A.numpy B.scrapy ...

最新文章

  1. 通过PXE网络安装ESXI6
  2. 部分和问题 (dfs搜索 尺取)
  3. 身份证识别——iOS端实现身份证检测
  4. Linux usb bus日志如何打开,从linux usb bus节点来认识usb linux usb认识
  5. linux perl的while循环中ctrl+c失效,perl循环控制
  6. 逻辑回归(LR)个人学习总结篇
  7. Pandas index详解
  8. 有名无实别占地儿──巧用批处理快删空文件夹
  9. 黑马vue实战项目-(六)商品列表组件的开发
  10. python之单例模式
  11. Excel中文转拼音【真正的完整版】 拼音 驼峰命名专用
  12. Excel的科学计数法
  13. vss 迁入后,服务器上面的文件没有变化,VSS迁移
  14. openGL基础光照“ADS”( Phone光照模型)(一)
  15. 4步彻底关闭win10的自动更新功能
  16. 解决 VS Code 卡顿 卡死 电脑变卡 CPU 运行高
  17. 我喜欢你c语言程序设计,我喜欢你,表白代码怎么说
  18. FlappyBird游戏介绍
  19. 进阶版--Mongodb命令汇总
  20. 中国视频展台市场现状研究分析与发展前景预测报告(2022)

热门文章

  1. readelf的使用
  2. access统计行数 vb_VB代码行数统计工具
  3. Python 语言参考手册
  4. python库中文手册_Python3.8.1标准库参考中文手册(The Python Library Reference) 高清pdf版...
  5. 【数学】3D数学基础
  6. 重庆市最新轨道交通SHP数据 - 202201
  7. qq家园纵横四海的源码
  8. 不只是AlphaGo,谷歌DeepMind到底是何方神圣?
  9. 【IT基础】如何休息(每天都很累,但你真的会正确的休息方式么)
  10. 最经典的PS入门笔记,来自李涛老师的高手之路