Java 当错误为布尔值时,是否执行此操作?
我想这样做,它应该保持Java 当错误为布尔值时,是否执行此操作?,java,do-while,Java,Do While,我想这样做,它应该保持status(),直到Anfallare.armees或Forsvarare.armees中的一个为0 但是我做的这个不起作用,我得到了必需的boolean,找到了int,我怎样才能做到这一点呢?应该是: Player Anfallare = new Player("A"); Player Forsvarare = new Player("F"); Anfallare.armees = 10; Forsvarare.armees = 10;
status()
,直到Anfallare.armees
或Forsvarare.armees
中的一个为0
但是我做的这个不起作用,我得到了必需的boolean
,找到了int
,我怎样才能做到这一点呢?应该是:
Player Anfallare = new Player("A");
Player Forsvarare = new Player("F");
Anfallare.armees = 10;
Forsvarare.armees = 10;
do{
Risk.status();
}while(Anfallare.armees = 0 OR Forsvarare.armees = 0);
相等运算符是
=
,而不是=
(即赋值运算符)。此外,Java中的逻辑OR由|
表示,而不是或 将while条件更改为
do {
...
} while(Anfallare.armees == 0 || Forsvarare.armees == 0);
在java中,“or”是|
,而相等性测试是=
保持状态(),直到Anfallare.armees或Forsvarare.armees中的一个为0
由于您希望运行status()
,直到其中一个值为0,因此需要对整个过程进行否定:
while(Anfallare.armees == 0 || Forsvarare.armees == 0)
这意味着:dostatus()
,而两个armees
都不是零——因此这与“直到其中一个为0”的含义相同
条件也可以写为对您所写内容的否定:
do {
Risk.status();
} while (Anfallare.armees != 0 && Forsvarare.armees != 0);
但我认为第一个版本更容易阅读…您正在编写一个风险游戏,对吗p@Marcelo这是真的:)我更喜欢“while(Anfallare.armees>0&&Forsvarare.armees>0”。
while (! (Anfallare.armees == 0 || Forsvarare.armees == 0) )