我是Java的新手,我现在正在使用Jar,允许使用一些“机器人学习系统”。但是,我遇到了一个问题。
while(robot.getX()!=1 && robot.getY()!=5) {
// blah
}
在这里,我希望机器人更喜欢blah
,而X不是1,而Y不是5。然而,当我以提供的格式使用它时,它只会按照我指示的方式进行,而他的X不是1或Y是5,这不是我想要的。
我该如何解决这个问题?我试过在互联网上四处寻找,不知道我不知道最技术性的关键词,在我的脑海里,我想不出有任何双重缩进的if
情况。按我的意愿行事。我怎么能这样做?
答案 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
}