为了账号安全,请及时绑定邮箱和手机立即绑定

布尔!(aSmile && bSmile)和(!aSmile &&!bSmile)之间的区别

布尔!(aSmile && bSmile)和(!aSmile &&!bSmile)之间的区别

绝地无双 2021-04-05 10:19:42
总的菜鸟问题,在此编码中蝙蝠练习http://codingbat.com/prob/p181646为什么我放: return (aSmile && bSmile) || !(aSmile && bSmile);给定实践的答案是错误的,而如果我把 return (aSmile && bSmile) || (!aSmile && !bSmile);答案是正确的,!(aSmile && bSmile)与(!aSmile &&!bSmile)之间是否有任何区别,或使我的第一个答案有误的其他原因?
查看完整描述

3 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

   A   |   B   | !(A && B) |

-------+-------+-----------|

  True |  True |   False   |

  True | False |   True    |

 False |  True |   True    |

 False | False |   True    |

   A   |   B   | !A || !B  |

-------+-------+-----------|

  True |  True |   False   |

  True | False |   True    |

 False |  True |   True    |

 False | False |   True    |

   A   |   B   | !A && !B  |

-------+-------+-----------|

  True |  True |   False   |

  True | False |   False   |

 False |  True |   False   |

 False | False |   True    |

!(A && B)等于!A || !B,所以

!(A && B)和!A && !B不一样的东西


查看完整回答
反对 回复 2021-04-21
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

!(aSmile && bSmile)

应该:

!aSmile || !bSmile


查看完整回答
反对 回复 2021-04-21
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

唯一的区别是第二个操作数之间:

!(aSmile && bSmile)

(!aSmile && !bSmile)

摩根定律(De Morgan's Laws)是一些有用的法律,其中第一个等同于:

(!aSmile || !bSmile)

而第二个等效于:

!(aSmile || bSmile)

有了这些定律,希望您能看到两个表达式为何不同的原因!


查看完整回答
反对 回复 2021-04-21
  • 3 回答
  • 0 关注
  • 191 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信