1. 程式人生 > 實用技巧 >jeval數學表示式解析工具

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