如何同时检查两个条件

时间:2014-03-23 11:11:07

标签: java if-statement conditional-statements

我是Java的新手,我现在正在使用Jar,允许使用一些“机器人学习系统”。但是,我遇到了一个问题。

while(robot.getX()!=1 && robot.getY()!=5) {
   // blah
}

在这里,我希望机器人更喜欢blah,而X不是1,而Y不是5。然而,当我以提供的格式使用它时,它只会按照我指示的方式进行,而他的X不是1或Y是5,这不是我想要的。

我该如何解决这个问题?我试过在互联网上四处寻找,不知道我不知道最技术性的关键词,在我的脑海里,我想不出有任何双重缩进的if情况。按我的意愿行事。我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

只要两部分中的任何一部分变为false,您的情况就会变为false。您需要反转整个AND,如下所示:

while(!(robot.getX()==1 && robot.getY()==5))
    ...

或使用OR,如下所示:

while(robot.getX()!=1 || robot.getY()!=5)
    ...

(两个循环使用使用De Morgan's Law转换的相同逻辑条件。)

答案 1 :(得分:2)

使用

while (!(X == 1 && Y == 5)) { 
blah
}