有人可以指导我如何正确地将其放在if-else语句中。
考虑以下if语句,其中doesSignificantWork
,makesBreakthrough
和nobelPrizeCandidate
都是布尔变量:
if (doesSignificantWork) {
if (makesBreakthrough)
nobelPrizeCandidate = true;
else
nobelPrizeCandidate = false;
}
else if (!doesSignificantWork)
nobelPrizeCandidate = false;
首先,编写一个与此等价的简单if语句。然后编写一个执行相同操作的赋值语句。
答案 0 :(得分:3)
if (doesSignificantWork) {
if (makesBreakthrough)
nobelPrizeCandidate = true;
else
nobelPrizeCandidate = false;
}
else if (!doesSignificantWork)
nobelPrizeCandidate = false
等同于
nobelPrizeCandidate = (doesSignificantWork && makesBreakthrough);
答案 1 :(得分:3)
您可以制作一个truth table。第一步是识别输入,并写下其值的所有组合。
Input Output
d m n
0 0 ?
0 1 ?
1 0 ?
1 1 ?
然后填写正确的输出值
Input Output
d m n
0 0 0
0 1 0
1 0 0
1 1 1
现在您应该看到输出函数对应于逻辑AND(&&
)。
答案 2 :(得分:2)
一个更简单的if
语句是:
if (doesSignificantWork && makesBreakthrough)
nobelPrizeCandidate = true;
else
nobelPrizeCandidate = false;
@Blaze的答案为您提供了最简单的单线。替代方法是
nobelPrizeCandidate = (doesSignificantWork && makesBreakthrough) ? true : false;