小编Dix*_*xer的帖子

用最少的迭代在Java中解决逻辑表达式

我正在努力解决Java中包含AND,ORNOT运算符的逻辑表达式.

如果输入是TRUE包含的变量的任何布尔值,则程序必须输出.我已成功完成,但效率不高.

我目前的解决方案如下:

为表达式中的每个变量创建一个真值表,并逐行评估.

(p ? ¬q) ? (r ? s) ? (¬p ? u)
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我将用一个变量真值表来评估整个表达式p q r s.

现在,我正在考虑实现一个类似的替代解决方案:考虑上面的例子.

我们可以注意到,即使只是解决了这个p ? ¬q部分,所有的表达都会出现TRUE.这为我们节省了3个额外变量的麻烦.

现在,我的问题是这个.如何在JAVA中编程?我怎么才能知道输入是否有像上面那样的模式?或者它只是一个表达式,我必须评估整个真值表?就像下面那个

(p ? ¬q) ? (r ? (s ? (¬p ? u)))
Run Code Online (Sandbox Code Playgroud)

java performance truthtable logical-operators coding-efficiency

3
推荐指数
1
解决办法
45
查看次数