为什么';这段java代码是否适用于loneTeen(99,99)
如果一个数字在13到19之间(含13到19),我们会说它是“青少年”。给定2个int值,如果其中一个是青少年,则返回true,但不能同时返回两者为什么';这段java代码是否适用于loneTeen(99,99),java,Java,如果一个数字在13到19之间(含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 &&a
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;
}
loneTeen(13,99)→ 符合事实的
loneTeen(21、19)→ 符合事实的
loneTeen(13,13)→ 错误的
公共布尔loneTeen(int a,int b){
如果((a>=13&&a=13&&b)是因为您的逻辑错误。&&
并不意味着XOR(一个或另一个为真,但不是两个都为真)。请使用以下方法:
return (a>=13 && a <=19) ^ (b>=13 && b<=19);
return(a>=13&&a=13&&bJava有一个逻辑异或操作符^
return (a>=13 && a<=19) ^ (b>=13 && b<=19);
return(a>=13&&a=13&&b)因为它是错误的。如果将条件拆分为嵌套的If,您将看到问题。