java – 解析有关搜索条件的用户输入
发布时间:2020-12-15 08:31:28 所属栏目:Java 来源:网络整理
导读:我正在寻找一种解析一些用户输入的方法.输入应显示必须执行的搜索以及必须如何组合. 1和2 (3 AND 2)或1 (3和2)或(1和4) ((3 OR 4)AND 1)或2 等 第一个例子应该以AND方式组合搜索1和2的结果.第二个例子应该以AND方式组合搜索3和2的结果,并以OR方式将该组合的
我正在寻找一种解析一些用户输入的方法.输入应显示必须执行的搜索以及必须如何组合.
> 1和2 第一个例子应该以AND方式组合搜索1和2的结果.第二个例子应该以AND方式组合搜索3和2的结果,并以OR方式将该组合的结果组合到搜索1的结果中.等等. 关于如何做到这一点的任何想法? 解决方法
将您的“结果”视为一个Object,它在以下界面中提供和/或类似的方法:
public interface AndOrCapable<T> { public T and(T anOtherResult); public T or(T anOtherResult); } 然后,您可以将用户输入转换为: Result total = r2.or(r1.and(r3.or(r4))); // your fourth example 这只是为了澄清这个概念 – 在您的情况下,您需要一个动态评估器,因为您使用用户输入. 因此,您仍然需要验证器/解析器将用户输入转换为(语法)树,这将是您用来计算总计的模型. 希望它有所帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |