do{
game1.getBetAmountFromUser();
bet = game1.returnBetAmount();
if (bet!=0){
game1.playGame();
pot = game1.returnPotAmount();
System.out.println("");
}
else{
System.out.println("You end the game with pot of $" + formatter.format(pot));
bet = game1.returnBetAmount();
}
}while (pot != 0 && bet == 0);
我对此代码中发生的事情感到非常困惑。
我正在做一个do循环,并要求仅在满足两个条件时循环。但是当我将赌注设置为0时,循环继续。
我错过了什么吗?
答案 0 :(得分:0)
好吧,如果bet
为0,则永远不会分配pot = game1.returnPotAmount();
,因此pot
可能保持为0(如果这是它的初始值),这意味着循环不会终止。
也许你的意图是 - while (pot != 0 && bet != 0);
答案 1 :(得分:0)
这是你的循环终止代码:
... } while (pot != 0 && bet == 0);
这说(实际上)“在底池不为零且赌注为零时继续前进”。但是当你下注为零时你想终止(不继续)。所以你的代码应该在“继续”中测试赌注是否为零......
关键字while
与英语中的“while”大致相同。