import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
class Main {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String str = "40+2";
System.out.println(engine.eval(str)); // 42
System.out.println(engine.eval("4-10")); // -6
System.out.println(engine.eval("4*3")); // 12
System.out.println(engine.eval("2/0")); // Infinity
System.out.println(engine.eval("0/0")); // NaN
System.out.println(engine.eval("3.0/2")); // 1.5
// Error
// System.out.println(engine.eval("i"));
// System.out.println(engine.eval("+"));
}
}
연산의 결과값들은 JavaScript의 결과값을 반환한다.
예외 처리를 해주어야 하고, 수식이 아닌 값은 에러가 발생한다.
'JAVA' 카테고리의 다른 글
[JAVA] POST multipart/form-data 요청하기 (0) | 2022.07.09 |
---|---|
[JAVA] Slack API 활용하여 서버 CPU 사용률 모니터링 구축해보기 (0) | 2022.06.26 |
[윈도우] JAVA 1.8 설치 (0) | 2020.11.14 |