2013-01-05 2 views
-1

우리가 자바에서이 같은 의해 BODMAS 규칙을 사용하여 계산기 프로그램을 만들 수 평가 BODMAS 순서를 사용하여 임의의 연산 식을 평가 할 수있는 라이브러리 나 기능이 우리는 이것을하기 위해 전체 논리를 만들어야합니다.합니까 자바는

우리가 전체적인 논리를 만들어야한다면 나에게 힌트를주십시오.

+2

중 하나를 재귀 하강 파싱; Shunting 야드 알고리즘; 자바 스크립트 엔진; 또는 JavaCC와 같은 파서 생성기의 사용. – EJP

+0

가능한 [수학 표현식 평가를위한 무료 Java 라이브러리] (http://stackoverflow.com/questions/7258538/free-java-library-for-evaluating-math-expressions) – PleaseStand

답변

2

당신 사용 Java Expression Language (JEXL) : 당신이 볼 필요가

// Create or retrieve a JexlEngine 
    JexlEngine jexl = new JexlEngine(); 
    // Create an expression object 
    String valfromtextbox = "2(2*2)+5"; 
    Expression e = jexl.createExpression(valfromtextbox); 

    // Create a context and add data 
    JexlContext jc = new MapContext(); 

    // Now evaluate the expression, getting the result 
    Object o = e.evaluate(jc);