作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经尝试过 Javaluator
,它帮助我评估像 (A OR B) AND C
这样的表达式。但现在我只想将表达式 (A OR B) AND C
扩展为 A AND C OR A AND B
谁能告诉我如何在 Java 中执行此操作任何 API 或任何其他帮助?
最佳答案
如果您不需要自己动手,可以使用 Wolfram|Alpha API,它有很多与 boolean 代数相关的功能,比如转换为各种范式等。如果这是一项作业并且您应该发明自己的轮子,则可以使用一些解析工具(或再次发明轮子)来标记字符串,然后应用 set ob boolean 代数规则:http://mathworld.wolfram.com/BooleanAlgebra.html
我想我应该把它说得更具体——如果不在你的代码中编写那组规则(硬编码),你就无法在一般情况下解决这个问题。最简洁的方法是使用像 ANTLR 这样的东西。生成一种 boolean 规则约束的语言,然后将您的输入提供给它。
关于java - 如何将 (A OR B) AND C 等表达式扩展为 A AND C OR A AND B?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18187491/
我是一名优秀的程序员,十分优秀!