Java if-statement数组的多个AND&OR

时间:2018-08-06 10:01:42

标签: java oop if-statement

因此,我有一个程序可以检查数组中的数字是否与手臂必须越过的条形尺寸相对应(例如爪机)。

我只需要它就可以了。我有一个if语句,它检查大小是否不是3(大小1和2行为不同,这些工作),然后检查上一列是否已经存在大小为3的块,如果是的话,以及该列是最大的,不要向上移动。

if (!(currentSize == 3 && this.barHeightsPlaced[0] == 1 && this.barHeights[0] == largestBar)) {
    while (this.height < largestBar + currentSize + 1 && this.height < Control.MAX_HEIGHT) {
        robot.up();
        this.height++;
        gapSize++;
    }
}

因此这适用于第一个小节,但要说它在第三个小节上放置了东西(this.barHeights [2]),因此需要检查this.barHeights [1]是否最大并将其放置在相对位置等于1。

我认为我可以做到:

if (!(currentSize == 3 && (this.barHeightsPlaced[0] == 1 && this.barHeights[0] == largestBar) || (this.barHeightsPlaced[1] == 1 && this.barHeights[1] == largestBar) || (this.barHeightsPlaced[2] == 1 && this.barHeights[2] == largestBar) || (this.barHeightsPlaced[3] == 1 && this.barHeights[3] == largestBar))

但这不起作用。

有没有很多if语句的方法吗?抱歉,如果以前已经做过,我是Java的新手,我要找的所有东西都没有使用数组。

0 个答案:

没有答案