如果它在13..19(含)范围内,我们会说一个数字是"青少年".给定2个int值,如果一个或另一个是青少年,则返回true,但不是两者都返回.
loneTeen(13, 99) ? true
loneTeen(21, 19) ? true
loneTeen(13, 13) ? false
public boolean loneTeen(int a, int b) {
if((a>=13 && a<=19)&&(b>=13 && b<=19))
return false;
else
return true;
}
Run Code Online (Sandbox Code Playgroud)
为什么它会给出一个真实的,而它应该给出错误
因为你的逻辑错了.&&并不意味着异或(一个或另一个是真的,但不是两个).使用以下内容:
return (a>=13 && a <=19) ^ (b>=13 && b<=19);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |