문자열 형태의 수식을 계산하는 방법은 없나요?

  1. "5+3"
  2. "10-40"
  3. "10*3" 이런 문자열들이 있는데요. 이걸 복잡한 연산 없이 간단하게 계산하게하고 싶은데 그건 힘들까요?

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    JDK1.6이상에서 자바스크립트 엔질을 쓰면 간단하게 할 수 있습니다.

    import javax.script.ScriptEngineManager;
    import javax.script.ScriptEngine;
    
    public class Test {
      public static void main(String[] args) throws Exception{
        ScriptEngineManager mgr = new ScriptEngineManager();
        ScriptEngine engine = mgr.getEngineByName("JavaScript");
        String foo = "40+2";
        System.out.println(engine.eval(foo));
        } 
    }
    

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.