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());

            //公式中分母为0
            String 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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值