I have tried Javaluator
which helped me in evaluating the expressions like (A OR B) AND C
. But now I only want to expand the expression (A OR B) AND C
to A AND C OR A AND B
can any body tell me how can I do this in Java any API or any other help?
问问题
2286 次
4 回答
2
如果你不需要自己做,你可以使用 Wolfram|Alpha API,它有很多布尔代数相关的功能,比如转换成各种范式等等。如果这是一个家庭作业并且您应该发明自己的轮子,您可以使用一些解析工具(或再次发明您的轮子)来标记字符串,然后应用 set ob 布尔代数规则: http: //mathworld.wolfram.com/布尔代数.html
我认为我应该让这个更具体——在一般情况下,如果不在代码中编写那组规则(硬编码),你就无法解决这个问题。最简洁的方法是使用诸如ANTLR之类的东西来生成布尔规则约束的语言,然后将您的输入提供给它。
于 2013-08-12T13:06:26.670 回答
1
(A OR B) AND C 到 A AND C OR A AND B
这是错误的......(A或B)和C等于(a和c)或(B和C)............
于 2013-08-12T13:05:17.190 回答
0
如果变量的数量不是很大,您可以测试每组变量的表达式。如果它在现场A = true, B = false, C = true
添加到结果中是真的OR (A and !B and C)
这种形式称为“完全析取范式”
于 2013-08-12T13:08:53.380 回答