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)
这意味着:do
status()
,而两个
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) )