获取while循环以继续if语句

时间:2016-12-03 17:42:27

标签: java

我正在使用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.
        }
    }

1 个答案:

答案 0 :(得分:0)

A continue跳回到循环的条件,然后再次评估。如果条件评估为false,则显然不会再次运行循环。

因此,如果您希望循环继续实际循环,则必须确保条件为true

这意味着:您必须设置cho = 1并确保sum < 21

另请注意,您的情况不需要sum != 21,因为sum < 21已经消除了这种可能性。