zoukankan      html  css  js  c++  java
  • jeval数学表达式解析工具

    jeval是为为你的Java应用程序提供可增加的、高性能、数学、  布尔和函数表达式的解析和运算的高级资源包。

    以下这个样例包括了JEval经常使用功能:

    package demo0;
    
    import net.sourceforge.jeval.EvaluationException;
    import net.sourceforge.jeval.Evaluator;
    
    public class JEvalSample {
    	public static void main(String args[]) {
    		Evaluator evaluator = new Evaluator();
    
    		try {
    			System.out.println("1.-->"+evaluator.evaluate("1+2*3-2/1"));  //直接计算字符串型的数学表达式
    			System.out.println("2.-->"+evaluator.evaluate("toUpperCase(trim( trim(' a b c ') ))"));  //运行java中的方法
    			evaluator.putVariable("a", "'Hello'");//定义字符串变量
    			evaluator.putVariable("b", "'World'");
    			evaluator.putVariable("c", "1"); //定义数字变量
    			evaluator.putVariable("d", "2");
    			System.out.println("3.-->"+evaluator.evaluate("#{a}")); //输出字符串
    			System.out.println("4.-->"+evaluator.evaluate("#{b}"));
    			System.out.println("5.-->"+evaluator.evaluate("#{PI}"));
    			System.out.println("6.-->"+evaluator.evaluate("#{a} + ' ' + #{b} + '!'")); //拼接后输出
    			System.out.println("7.-->"+evaluator.evaluate("(#{c} + #{d}) - #{c}"));  //拼接后输出计算结果
    
    		} catch (EvaluationException ee) {
    			System.out.println(ee);
    		}
    	}
    }
    

    运行结果例如以下:

    1.-->5.0
    2.-->'A B C'
    3.-->'Hello'
    4.-->'World'
    5.-->3.141592653589793
    6.-->'Hello World!'
    7.-->2.0

  • 相关阅读:
    系统权限控制模型
    [Golang] 剑走偏锋 -- IoComplete ports
    Golang 正则匹配 -- regexp
    golang -- 字符串就地取反
    Hyperledger Fabric chaincode 开发(疑难解答)
    could not launch process: decoding dwarf section info at offset 0x0: too short
    win10 Ubuntu16 双系统
    7-8 哈利·波特的考试
    7-7 六度空间
    7-6 列出连通集
  • 原文地址:https://www.cnblogs.com/itplay/p/13219776.html
Copyright © 2011-2022 走看看