2010-06-03 4 views
2

문자열이 있습니다.Java 문자열의 문을 확인하십시오.

String allIn = "(50 > 100) AND (85< 100)"; 

이제 내부 조건이 TRUE 또는 FALSE인지 평가해야합니다. 어떻게해야합니까?

실제 문자열은 내 DB의 필드에있는 값이 될 것입니다. 여기서 다른 값을 대체하며 위의 그림과 같이 문자열을 형성합니다.

+0

은 지원하려는 모든 작업을 설명합니다. ">"및 "<"가 유일한 작업입니까? 잘못된 데이터가있을 가능성이 있습니까? – Roman

+0

가능한 경우 < > AND OR! = 잘못된 데이터 일 수도 있습니다 – Adnan

답변

2

날이에 eval project

+0

방금 ​​훑어 보았지만 Java 구문 만 지원하므로 사용중인 (SQL-ish?) 코드를 Java로 변환해야합니다 . –

+0

내가 필요한 것을 보았고, 지금 당장 그것을 점검 할 것이다. 감사합니다 Bozho – Adnan

+0

+1이 직업에 가장 적합한 도구 –

0

에서보세요 것은 당신이 "컴파일러 디자인"질문과 같습니다!이 공간 <을 사용하여 개별 구성 요소입니다> AND OR로

  • 문자열을 구문 분석 = 당신이 운영자가 발생하여 표현
  • 의 다음 부분을 얻을 때 값을 스택에서
  • 팝가 발생할 때 스택에
  • 밀어 분리 문자로

그러나 개인적으로 - (이미 언급 한 바와 같이) 모든 가능한 경우 내가 평가 경로를 아래로 갈 것이다 - 당신이 구문 문자열의 현재 구문을 변경하거나 구문 분석하고 변환 할 필요가 있음을 의미하는 경우에도 :

https://eval.dev.java.net/

관련 문제