我最近开始使用Java进行编码,而且我一直试图关闭这个循环,但即使添加了理论上应该停止的行,它也不会停止。 这是我的代码示例,我已经从法语中翻译了对象和方法,以便让您更容易阅读,因此如果出现语法错误,则100%由于翻译,而不是我的实际代码中的错误。 PS:您看到的每个对象都会在显示的代码之前实现。
while (player1.money > 0 || player2.money > 0 || player3.money > 0) {
System.out.println("Turn number: " + turn);
System.out.println("-------------------");
System.out.println("-------------------");
System.out.println("Player : " + player1.name);
System.out.println("Bank Account : " + player1.money);
System.out.println("-------------------");
player1.rollDice(player1, table, chanceCard, commuCard);
System.out.println("-------------------");
System.out.println("Player : " + player2.name);
System.out.println("Bank Account : " + player2.money);
System.out.println("-------------------");
player2.rollDice(player2, table, chanceCard, commuCard);
System.out.println("-------------------");
System.out.println("Player : " + player3.name);
System.out.println("Bank Account : " + player3.money);
System.out.println("-------------------");
player3.rollDice(player3, table, chanceCard, commuCard);
turn++;
player1.money=-1000;//Trying to stop the loop
}
答案 0 :(得分:0)
它不会停止,因为您在||
声明中使用了“或”while
。所以如果一个表达式至少是true
那么循环将继续执行。您必须使用“和”&&
代替。
例如:
while (player1.money > 0 && player2.money > 0 && player3.money > 0) {
..
或者将您的条件中使用的所有金钱值设置为小于或等于0
例如:
...
player1.money=-1000;
player2.money=-1000;
player3.money=-1000;
答案 1 :(得分:0)
player1.money > 0 || player2.money > 0 || player3.money > 0
如果至少满足这三个条件中的一个,则此检查返回true。要在至少的玩家没有足够的资金时让代码退出循环,请将OR(||
)运算符更改为AND(&&
)运算符:
player1.money > 0 && player2.money > 0 && player3.money > 0
只有满足all
特定条件时,此检查才会返回true。