2011-05-25 71 views
0
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.armees一个或Forsvarare.armees0do-while错误布尔值?

这个我做不成功,但我得到要求boolean,找到int,我怎么能这样做的权利?

+0

你正在编写风险的游戏,对不对? :p – Marcelo 2011-05-25 17:03:12

+0

@Marcelo这是真的:) – Karem 2011-05-25 22:02:25

回答

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

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

+0

我宁愿选择“while(Anfallare.armees> 0 && Forsvarare.armees> 0)”。 – MRAB 2011-05-25 17:36:06

0

它应该是:

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

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

1

更改而-条件

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

在java中 “或” 是||和平等的测试是==