2010-06-03 57 views
2

我有一個字符串;在Java中驗證來自字符串的語句

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

現在我需要評估內部條件是否爲TRUE或FALSE,我該怎麼做?

實際上,字符串將是來自我的數據庫中的字段的值,我將在其中替換不同的值,並且它們將形成如上所示的字符串。

+0

描述了您想要支持的全套操作。 「>」和「<」是唯一的操作嗎?有無效數據存在的可能性? – Roman 2010-06-03 13:36:17

+0

可能是< > AND OR!=有可能是無效數據 – Adnan 2010-06-03 13:37:54

回答

2

看看在eval project

+0

我只是看了一眼,但它看起來像只支持Java語法,所以他必須將他正在使用的東西(SQL-ish?)轉換爲Java 。 – 2010-06-03 13:37:40

+0

似乎我需要什麼,現在就檢查它。謝謝博哲 – Adnan 2010-06-03 13:38:27

+0

+1此工作的最佳工具 – 2010-06-03 13:46:39

0

對我來說,這看起來像一個「編譯程序設計」的問題,您:

  • 解析字符串轉換成它的使用空​​間,<各個組件>,AND,OR =作爲堆棧定界符
  • 推,當你遇到一個值從堆棧
  • 流行當你遇到一個運營商,並得到表達
  • 的下一部分

但個人 - 如果可能的話我會走下來評估和演示路線(如前所述) - 即使這意味着你必須要改變字符串的當前語法或分析和轉換的語法:

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