> Java > java지도 시간 > Java는 문자열로 주어진 수학적 표현식을 어떻게 효율적으로 구문 분석하고 평가할 수 있습니까?

Java는 문자열로 주어진 수학적 표현식을 어떻게 효율적으로 구문 분석하고 평가할 수 있습니까?

Linda Hamilton
풀어 주다: 2024-11-29 08:46:10
원래의
366명이 탐색했습니다.

How Can Java Efficiently Parse and Evaluate Mathematical Expressions Given as Strings?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿