다른 인수 (예 : y = 2x + a^2-4 * a * x, & a = -15) 등). 간단한 표현식에서는 잘 작동하지만 더 어려운 표현식을 사용하기 시작하면 작동하지 않습니다. 다음 코드는 잘 작동 :왜 jexl calc 산술이 잘못 되었습니까?
JexlEngine jexl = new JexlEngine();
Expression func = jexl.createExpression("x1+x2");
MapContext mc = new MapContext();
mc.set("x1", 2);
mc.set("x2", 1);
System.out.println(func.evaluate(mc)); // prints "3" - GOOD ANSWER!
그러나 이것은 인쇄 오답 : 내가 잘못 할 무엇
JexlEngine jexl = new JexlEngine();
Expression func = jexl.createExpression("(x1-2)^4+(x1-2*x2)^2");
MapContext mc = new MapContext();
mc.set("x1", 2);
mc.set("x2", 1);
System.out.println(func.evaluate(mc)); // prints "6" - WRONG ANSWER!
를?
당신 말이 맞아! 고마워! 그럼, 어떻게 JEXL에서 Math.pow()를 구현할 수 있습니까? 아니면 내 용도로 다른 lib를 사용해야합니까? – dizpers
@dizpers JEXL을 사용한 적이 한번도 없으므로 도와 드릴 수 없습니다. 나는 인터넷에서 예제를 찾아 볼 것을 제안한다. 그들 (JEXL 커뮤니티)은 메일 링리스트를 가지고있어 더 많은 답변을 얻을 수 있습니다. –