检查一个Java条件是否是另一个条件的子集

时间:2019-01-11 20:06:52

标签: java intellij-idea

我有一个用例,其中我必须检查一个条件是否是另一个条件的子集。意思是,满足条件2的结果集将是满足条件1的结果集的子集。

我正在检查,而intellij确实在代码检查期间弄清楚了

if (x < 7 && x > 1) {
      return true;
} else if (x > 3 && x <6) {
      return false;
}

这里在代码检查过程中确实突出了第二个条件的结果始终为假。

那么,它是如何实现的?

1 个答案:

答案 0 :(得分:1)

此范围:

(x > 3 && x <6)

是以下内容的子范围:

(x < 7 && x > 1)

所以如果条件(x < 7 && x > 1)

  1. true,那么将不会达到此条件(x > 3 && x <6)
  2. false,则此条件(x > 3 && x <6)也是false
    因此代码检查的含义是:
    如果达到(x > 3 && x <6),则始终为 false

实现逻辑的正确方法应该是首先检查子范围:

if (x > 3 && x <6) {
    return false;
} else if (x > 1 && x < 7) {
    return true;
} else {
    return ....;
}