Java循环控制(while) int-levelP1; int-levelP2; 做{ p1.开始旋转(p1,d1); p2.开始转动(p2,d1); levelP1=p1.getLevel(); levelP2=p2.getLevel(); }而(级别P1=10){ System.out.println(p2.getName()+“命中级别”+levelP2+“并赢得游戏!”); }
我有这段代码,它并没有达到预期的效果。。。 “startTurn()”方法可能会也可能不会提升播放器的级别,这取决于它内部发生的情况。。。 我希望它在任何一个玩家达到10级或以上时退出循环。。。我不知道怎么做。请帮忙 我希望它在任何一个玩家达到10级或以上时退出循环 使用Java循环控制(while) int-levelP1; int-levelP2; 做{ p1.开始旋转(p1,d1); p2.开始转动(p2,d1); levelP1=p1.getLevel(); levelP2=p2.getLevel(); }而(级别P1=10){ System.out.println(p2.getName()+“命中级别”+levelP2+“并赢得游戏!”); },java,loops,while-loop,Java,Loops,While Loop,我有这段代码,它并没有达到预期的效果。。。 “startTurn()”方法可能会也可能不会提升播放器的级别,这取决于它内部发生的情况。。。 我希望它在任何一个玩家达到10级或以上时退出循环。。。我不知道怎么做。请帮忙 我希望它在任何一个玩家达到10级或以上时退出循环 使用&&代替|: int levelP1; int levelP2; do { p1.startTurn(p1, d1); p2.startTurn(p2, d1);
&&
代替|
:
int levelP1;
int levelP2;
do {
p1.startTurn(p1, d1);
p2.startTurn(p2, d1);
levelP1 = p1.getLevel();
levelP2 = p2.getLevel();
} while (levelP1 <= 10 || levelP2 <= 10);
if (levelP1 >= 10) {
System.out.println(p1.getName() + " hit LvL " + levelP1 + " and WON the game !");
} else if (levelP2 >= 10) {
System.out.println(p2.getName() + " hit LvL " + levelP2 + " and WON the game !");
}
while(级别P1<10和级别P2<10);
这样,当这两个条件中的一个为假时,你退出。你的if条件应该在
之内,而带有break
语句。如果你想让它在任一玩家达到10级或以上时退出循环,这意味着当levelP1>=10 | levelP2>=10
时,因为循环条件是相反的,这意味着while(levelP1<10&&levelP2<10)代码>也要删除=
。请看。但是如果我使用&&,当两个条件都为false时,这不会使我退出循环吗?这不是我想要的。while条件为true,而这两个条件均为true。当levelP1>=10或levelP2>=10
时,您希望退出。这意味着您想在levelP1时继续,也可以在(!(levelP1>=10 | | levelP2>=10))时使用while代码>如果它有助于您理解。它是使用否定的等价物。
while (levelP1 < 10 && levelP2 < 10);