我正在使用while循环和if语句。
如果正在运行else语句,我希望循环继续。在我的理解中“继续”;应该重新启动循环,但它没有。
我找到了一个解决方法来解决这个问题,它是设置“cho = 1;”。但这真的有必要吗?有没有更多的逻辑方法来解决这个问题?
谢谢!
while (sum < 21 && cho == 1 && sum != 21) {
System.out.println("Do you want to (1)hit or (2) stay?");
cho = scan.nextInt();
if (cho == 1) {
getCard(index++);
if (sum > 21) {
System.out.println("You busted! Dealer wins.");
return;
}
} else if (cho == 2) {
System.out.println("Your value is " + sum);
sum = playerTotal;
}
else{
cho = 1;
System.err.println("The input value given is not a valid integer");
continue; //Does not restart the loop.
}
}
答案 0 :(得分:0)
A continue
跳回到循环的条件,然后再次评估。如果条件评估为false
,则显然不会再次运行循环。
因此,如果您希望循环继续实际循环,则必须确保条件为true
。
这意味着:您必须设置cho = 1
并确保sum < 21
另请注意,您的情况不需要sum != 21
,因为sum < 21
已经消除了这种可能性。