小试表达式解析器是什么
jeval是为你的Java应用程序提供可加入的、高性能、数学、
布尔和函数表达式的解析和运算的高级资源包。
下载地址:http://www。oschina。net/p/jeval 目前最新版本是0。 9。4 Beta
这个包可以为我们提高高效的数学表达式计算。
举个例子:这个是我们策划给出的游戏命中率的一部份计算公式
是否命中=a命中率 – (b等级 – a等级) * (命中系数
(6)* b闪避率 / 100)+32
为了好象点,我们把他变成:ahit-(blv-alv)*(6*beva/100)+32
在平常我们看到这些都头痛,一般的处理方法是把非变量排除出来,想办法变成 常量+变量...全部
jeval是为你的Java应用程序提供可加入的、高性能、数学、
布尔和函数表达式的解析和运算的高级资源包。
下载地址:http://www。oschina。net/p/jeval 目前最新版本是0。
9。4 Beta
这个包可以为我们提高高效的数学表达式计算。
举个例子:这个是我们策划给出的游戏命中率的一部份计算公式
是否命中=a命中率 – (b等级 – a等级) * (命中系数
(6)* b闪避率 / 100)+32
为了好象点,我们把他变成:ahit-(blv-alv)*(6*beva/100)+32
在平常我们看到这些都头痛,一般的处理方法是把非变量排除出来,想办法变成 常量+变量的形式
但这种式形的结果就是调整不方便,也加大了维护难度。
通常策划给出的每一个常量都是有意义的,改变一个常量就可以调整整个系统的命中率和其它相连数据。
也就是说常量可能会经常调整。
Jeval就是用在这种情况下的!!!!
接下来我们先看看jeval没有变量的例子
/**
* 测试jeval代码
*
*/
public class JevalTest {
public static void main(String[] args) {
// System。
out。println(System。currentTimeMillis());
Evaluator eva= new Evaluator();
try {
System。out。println(eva。
evaluate("2+8/2"));
} catch (EvaluationException e) {
e。printStackTrace();
}
}
}
运行,输出结果为
6。0
是不是好简单呢。
收起