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