我必须解析一个包含我的java项目公式的字符串,并且我想使用包exp4j(http://www.objecthunter.net/exp4j/index.html)来执行此操作。但我总是得到同样的错误。它可能真的很愚蠢,但遗憾的是我错过了它。所以这就是我试过的:
我只是试着这个进行测试:
import de.congrace.exp4j.Calculable;
import de.congrace.exp4j.ExpressionBuilder;
public class Tester {
public static void main (String[] args){
Calculable calc = new ExpressionBuilder("3+2").build();
}
}
现在eclipse告诉我Unhandled异常类型UnknownFunctionExpression和Unhandled异常类型UnparsableExpressionException。
之后我尝试使用上述网站上的一个例子:
import de.congrace.exp4j.Calculable;
import de.congrace.exp4j.ExpressionBuilder;
public class Tester {
public static void main (String[] args){
double varX = 2;
double varY = 3;
Calculable calc = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)")
.withVariable("x", varX)
.withVariable("y", varY)
.build();
double result1=calc.calculate();
}
}
导致与上述相同的例外情况。
对不起任何不好的英语,我是德国人,感谢您的帮助:)
答案 0 :(得分:2)
错误告诉您可能会发生已检查的异常,因此您必须自己处理。
你可以使用try / catch来处理它,或者只使用throws子句声明异常
public static void main (String[] args) throws UnparsableExpressionException{
Calculable calc = new ExpressionBuilder("3+2").build();
}
或者您可以将代码包装在try / catch中以处理异常。
try {
Calculable calc = new ExpressionBuilder("3+2").build();
}
catch(UnparsableExpressionException ex){
ex.printstacktrace();
}
同样适用于UnknownFunctionExpression
。
并阅读Exceptional Handling in java here