Java AP计算机科学逻辑运算符

Java AP计算机科学逻辑运算符,java,Java,仅当布尔表达式A、B和C均为false时,以下哪项才计算为true 回答:!(A|B|C) 我的答案是:!(A&B&C) 为什么我的答案不正确?如果A,B和C都是false和是分布式的,它将使所有的都为true,从而返回true < > < > b>代码>和 c>代码>为整数,请考虑布尔表达式 (a < b) || !((c == a * b) && (c < a)) (a

仅当布尔表达式
A
B
C
均为
false
时,以下哪项才计算为true

回答:
!(A|B|C)

我的答案是:
!(A&B&C)

为什么我的答案不正确?如果
A
B
C
都是
false
是分布式的,它将使所有的
都为true
,从而返回
true


< > <代码> < <代码> > <代码> b>代码>和<代码> c>代码>为整数,请考虑布尔表达式

(a < b) || !((c == a * b) && (c < a))
(a
下列哪项可以保证表达式为

回答:
c
is
false


结果是否依赖于
(c==a*b)
false
也是因为
&&

因为如果任何表达式为false,则表达式的计算结果将为true。它们不一定都是假的,它才能评估为真,这正是问题所要求的。

关键词语“仅当”,在你的回答中,A B和C的其他组合为假,而一些为真也会产生真。虽然如果它们都是假的,它也会产生真的,但是它只会说,如果这是因为!在第一个。你是对的,通常情况下会这样。数字电子也是如此。要得到答案,你必须使用or,因为除非它们都是一样的,否则它将是真的。这很奇怪,但很管用

  • 关键词:仅限。如果
    A
    B
    C
    中至少有一个
    true
    ,则
    !(A | | B | | C)
    将是
    (因为
    A | | B | C
    将是
    !真

  • 难道结果不依赖于
    (c==a*b)
    也是因为
    &&
    而为假的吗

    否:如果
    c
    false
    ,则
    (c==a*b)和&(c
    也必须为
    false
    ,这意味着表达式
    !((c==a*b)和&(c
    必须是
    true
    ,这意味着整个表达式必须是
    true
    (因为
    |
    ,而且事实上我们已经知道右侧将是
    true


  • 否定运算符不是按您认为的方式分布的--请参阅。首先计算括号


    我建议您建立表达式的真值表以验证其正确性。

    您是否绘制了逻辑表,将not应用于整个表达式?谢谢!我从来没有想到阅读错误是我答错问题的原因。