|
|
是不是表达式计算啊?,我这里有一段程序,使用到的是apache计算表达式的jar包,你看看满不满足你的需求。
程序如下:
编写一个TestExpr.java文件
import org.apache.commons.jexl.Expression;
import org.apache.commons.jexl.ExpressionFactory;
import org.apache.commons.jexl.JexlContext;
import org.apache.commons.jexl.JexlHelper;
public class TestExpr {
public static void main(String args[]) {
String exp = args[0];
try {
Expression e = ExpressionFactory.createExpression(exp);
JexlContext context = JexlHelper.createContext();
System.out.println(e.evaluate(context));
} catch (Exception e) {
System.out.print("evaluate[" + exp + "] failed");
e.printStackTrace();
}
}
}
首先第一步你需要编译这段程序,由于用到了表达式计算的jar包你要去apache.org上下载commons-jexl-1.1.jar和commons-logging.jar这两个jar包,并且把这两个jar包和TestExpr放在一个目录下,执行
javac -cp commons-jexl-1.1.jar TestExpr.java
进行编译。
然后执行
java -cp commons-jexl-1.1.jar;.;commons-logging.jar TestExpr "1+2"
运行,可以看到输出结果"3"
关于表达式计算的jar包很多,楼主多google一下,能找到好多。
关于Jexl的更多信息请访问apache.org
[ 本帖最后由 yarao 于 2008-8-19 21:26 编辑 ] |
|