Java布尔表达式编写:实现整数n的区间及奇偶条件判断需求
Java布尔表达式修正方案
错误原因
原有代码的逻辑强制要求n必须同时落在1020区间且为偶数,直接排除了1020区间外的所有符合条件的值,同时使用开区间判断不符合题目要求的闭区间规则。
修正后的代码
System.out.println((n >= -15 && n <= 50) && !(n >= 10 && n <= 20 && n % 2 == 1));
也可以写成等价的拆分逻辑:
System.out.println(n >= -15 && n <= 50 && (n < 10 || n > 20 || n % 2 == 0));
逻辑说明
- 第一层判断
n >= -15 && n <= 50:确保n落在要求的[-15,50]闭区间内 - 第二层判断
!(n >= 10 && n <= 20 && n % 2 == 1):排除所有属于10~20闭区间内的奇数,只要不满足这个排除规则的数都可以通过校验
内容的提问来源于stack exchange,提问作者LankManDan
相关产品推荐
相关产品推荐

