Java逻辑试题
我一直在为AP计算机科学解决一些关于逻辑测试的问题,但我碰巧遇到了一些问题 以下是网站上的说明:将以下每一个英语语句翻译成逻辑测试,可以在if/else语句中使用。为下面的每个语句编写适当的逻辑测试。假设已经声明了三个int变量x、y和z 以下是我遇到的两个问题: x或y是偶数,另一个是奇数 x和z是相反的符号 我已经试着找出这些答案好几个小时了,但我仍然没有任何线索。如果有人能为我指引正确的方向,我将不胜感激。我知道这是“家庭作业”,但一些明确的帮助会非常有用。您需要使用and(Java逻辑试题,java,boolean-logic,Java,Boolean Logic,我一直在为AP计算机科学解决一些关于逻辑测试的问题,但我碰巧遇到了一些问题 以下是网站上的说明:将以下每一个英语语句翻译成逻辑测试,可以在if/else语句中使用。为下面的每个语句编写适当的逻辑测试。假设已经声明了三个int变量x、y和z 以下是我遇到的两个问题: x或y是偶数,另一个是奇数 x和z是相反的符号 我已经试着找出这些答案好几个小时了,但我仍然没有任何线索。如果有人能为我指引正确的方向,我将不胜感激。我知道这是“家庭作业”,但一些明确的帮助会非常有用。您需要使用and(&&&)和or
&&&
)和or(|
)来建立逻辑公式。我不会做你的,但这里还有一个:
x大于y和z或x小于y和z
翻译为:
((x > y) && (x > z)) || ((x < y) && (x < z))
((x>y)和&(x>z))| |((x
你只需要找出奇数/偶数(提示-低阶位)和正/负(提示-与0比较)的公式,并将它们与和/或结合起来。对于第一个问题,如果x(或y)*是奇数,那么y(或x)必须是偶数,反之亦然。检查奇数意味着x和2的模为1——从这里开始,您必须断言y(或x)模2是否为0(以检查均匀性) 对于第二个问题,您需要遵循一系列逻辑:
- X为正(或大于0),这意味着Z必须为负(或小于0)
- Z是正的,这意味着X必须是负的
*:这是一个异或-我的意思是你要么在检查x或y,但不能同时检查两者。首先你必须完全理解该语句,才能将其转换为计算机语言。比如说, x和y有相同的符号 这真正意味着: (x大于或等于0且y大于或等于0)或(x小于0且y小于0) 现在很容易将其放入Java中:
(x >= 0 && y >= 0) || (x < 0 && y < 0)
(x>=0&&y>=0)| |(x<0&&y<0)
当然,你的问题也可以用类似的方法来解决。对我来说,用简单的英语
If ((x is even AND y is odd) OR (x is odd AND y is even))
另一方面
If ((x gt or eq 0 AND y lt 0) OR (y gt or eq 0 AND x lt 0))
假设0为正
x或y是偶数,另一个是奇数
奇数和偶数之和是奇数。两个奇数之和为偶数,两个偶数之和为偶数
所以(x+y)%2=0
x和z是相反的符号
这个类似,您可以执行以下操作:
x*z<0
x*z=0)=(z<0)
对于第一个问题:x%2!=y%2
第二个问题:
x*z<0
你能发布实际问题吗?这是一篇非常令人困惑的文章。请澄清。我假设你必须写一个布尔测试来验证这些陈述?我完全理解你的问题,但我对第一个问题的措辞有异议。它是说x是偶数,y是奇数,还是x是奇数,y是偶数?@user1287412:这就是我的解释。我很高兴我能帮上忙——重要的是要理解它背后的过程。@Makoto这与此无关,OP可以根据各种数学定义随意调整最终答案,但得出最终答案的方法仍然是一样的,很公平。我想指出的是,我可能期望0与17或-12的符号不同。@user1287412,问题是,如果x或y是偶数,那么另一个一定是奇数。因此,第一种方法确实有效。编码并测试它。