do-while错误布尔值?

时间:2011-05-25 16:58:54

标签: java do-while

    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);

我想做这样的事情,它应该保持在status(),直到Anfallare.armeesForsvarare.armees之一为0

我这样做不起作用,我需要boolean,找到int,我该怎么办呢?

3 个答案:

答案 0 :(得分:1)

将您的时间条件更改为

while(Anfallare.armees == 0 || Forsvarare.armees == 0)

在java中,“或”是||,对等式的测试是==

答案 1 :(得分:1)

  

继续状态()直到Anfallare.armees或Forsvarare.armees之一为0

由于你想运行status() 直到其中一个值为0,你需要否定整个事情:

do {
    Risk.status();
} while (Anfallare.armees != 0 && Forsvarare.armees != 0);

翻译这意味着:当status()都非零时执行armees - 所以这与“直到其中一个为0”具有相同的含义。

这种情况也可以写成对你写的内容的否定:

while (! (Anfallare.armees == 0 || Forsvarare.armees == 0) )

但我认为第一个版本更容易阅读...

答案 2 :(得分:0)

应该是:

do {
   ...
} while(Anfallare.armees == 0 || Forsvarare.armees == 0);

等于运算符是==而不是=(即赋值运算符)。此外,Java中的逻辑OR由||表示,而不是OR