Java布尔查询

时间:2012-12-08 20:43:49

标签: java boolean

我想在控制台中输入用户输入,例如“keyword1和keyword2”或“keyword1和(keyword2或keyword3)”

然后我想解释它并将其转换为布尔值以查询数组中的关键字。

它必须处理“和”,“或”和“()”括号。

我宁愿不使用第三方库,但如果没有简单的方法,我会接受它。我开始研究Lucene,但我的需求似乎很复杂,我希望能够查询数组而不是文档。

编辑:注意我对编程很陌生,所以更喜欢简单的解决方案。

2 个答案:

答案 0 :(得分:0)

您需要一个解析器,但是如果您将输入包装在可以构成有效类的代码中,则可以考虑使用java编译器本身。

答案 1 :(得分:0)

您可以使用JavaCC之类的编译器编译器。它可以生成java代码而不是使用您自己的语法解析表达式并解释它。在这种情况下,您不应使用外部库。

There is JavaCC算术计算器的例子。