Проверить утверждение из строки в Java - PullRequest
2 голосов
/ 03 июня 2010

У меня есть строка;

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

Теперь мне нужно оценить, являются ли условия внутри ИСТИНА или ЛОЖЬ, как я могу это сделать?

В действительности строка будет значением из поля в моей БД, где я подставлю разные значения, и они сформируют строку, как показано выше.

Ответы [ 2 ]

2 голосов
/ 03 июня 2010

Взгляните на eval проект

0 голосов
/ 03 июня 2010

Для меня это выглядит как вопрос "Дизайн компилятора", где вы:

  • Разберите строку на отдельные компоненты, используя пробел, <> И ИЛИ! = Как разделители
  • Нажмите на стек, когда вы встретите значение
  • . Выскользните из стека, когда вы встретите оператора, и получите следующую часть выражения

Но лично - я бы пошел по маршруту Eval.(как уже было сказано), если это вообще возможно - даже если это означает, что вам нужно изменить текущий синтаксис строки или выполнить синтаксический анализ и преобразовать синтаксис:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...