标签: java boolean
我想在控制台中输入用户输入,例如“keyword1和keyword2”或“keyword1和(keyword2或keyword3)”
然后我想解释它并将其转换为布尔值以查询数组中的关键字。
它必须处理“和”,“或”和“()”括号。
我宁愿不使用第三方库,但如果没有简单的方法,我会接受它。我开始研究Lucene,但我的需求似乎很复杂,我希望能够查询数组而不是文档。
编辑:注意我对编程很陌生,所以更喜欢简单的解决方案。
答案 0 :(得分:0)
您需要一个解析器,但是如果您将输入包装在可以构成有效类的代码中,则可以考虑使用java编译器本身。
答案 1 :(得分:0)
您可以使用JavaCC之类的编译器编译器。它可以生成java代码而不是使用您自己的语法解析表达式并解释它。在这种情况下,您不应使用外部库。
There is JavaCC算术计算器的例子。