我尝试制作自己的小型计算器,但我不想自己制作所有的业务逻辑。所以我尝试使用,javax.script
因为我听说javax.script
需要一个真正的 JVM 并且是一个 JavaScriptParser。然后,我搜索了其他具有我需要的功能的库,并找到了项目“exp4j”。首先,我使用 JDK 1.7 制作了一个小型普通 Java 项目,是的,它适用于源代码:
public static void main(String[] args) throws UnknownFunctionException, UnparsableExpressionException {
ExpressionBuilder builder=new ExpressionBuilder("34*2");
Calculable calc=builder.build();
System.out.println(calc.calculate());
}
然后,我在我的计算器模型(MVC 模式)中尝试了相同的代码:
public void berechnen() throws UnknownFunctionException, UnparsableExpressionException {
ExpressionBuilder builder=new ExpressionBuilder("34*2");
Calculable calc=builder.build();
setErgebnis(calc.calculate());
}
但每次我得到同样的例外:
"AndroidRuntime(630): java.lang.VerifyError",
在我启动应用程序之后。我无法单击运行该方法的按钮,berechnen()
因为应用程序在我启动后崩溃。
我很困惑为什么我的程序不起作用。当我删除 exp4j 的所有导入并删除计算源时,我的计算器工作正常。
我唯一的想法是 exp4j 库正在使用 Android 中不存在的类或方法。
谢谢你。