Java에서 수학 표현식을 문자열로 구문 분석
"5 4*(7-15)와 같이 문자열로 표현된 수학 표현식이 제공됩니다. )", Java에서 숫자 결과를 평가하고 반환하는 것이 가능합니까? 또한, 산술 표현식의 가장 효율적인 구문 분석을 제공하는 방법은 무엇입니까?
해결책:
수학 표현식을 문자열로 평가하는 한 가지 접근 방식은 BeanShell bsh.Interpreter 클래스를 활용하는 것입니다. . 다음 코드는 이 기술을 보여줍니다.
Interpreter interpreter = new Interpreter(); interpreter.eval("result = 5+4*(7-15)"); System.out.println(interpreter.get("result"));
이 접근 방식은 평가할 문자열이 신뢰할 수 있는 소스에서 나온 것인지 확인하여 잠재적인 보안 위험으로부터 보호합니다.
또는 더 복잡하지만 안전한 코드는 옵션은 ANTLR(언어 인식을 위한 또 다른 도구)을 사용하는 것입니다. ANTLR은 수학적 표현을 시작점으로 처리할 수 있는 문법 기반 파서 생성기로 구성됩니다.
위 내용은 Java는 문자열로 주어진 수학적 표현식을 어떻게 효율적으로 구문 분석하고 평가할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!