Java正偶数校验代码逻辑错误排查与修正求助
问题:使用&&运算符判断正偶数的逻辑错误修正
原代码的判断逻辑完全错误,num == 1 && num % 2 == 0这个条件永远不可能成立——1本身是奇数,所以无论传入什么值,这个表达式都会返回false,直接导致测试用例中check(2)的断言失败。
修正后的代码
public static boolean check(int num) { boolean result = (num > 0 && num % 2 == 0); return result; }
逻辑说明
num > 0:确保传入的数字是正数num % 2 == 0:确保传入的数字是偶数- 用
&&连接两个条件,只有当两个条件同时满足时,才返回true,符合「正偶数」的判断要求
测试验证
修正后重新执行单元测试:
check(-1):-1不满足num > 0,返回false,匹配assertFalsecheck(1):1满足正数但不满足偶数,返回false,匹配assertFalsecheck(2):2同时满足正数和偶数,返回true,匹配assertTrue
内容的提问来源于stack exchange,提问作者Dr.Joe
相关产品推荐
相关产品推荐

