双破java

时间:2015-11-30 21:39:01

标签: java loops

我正在用Java编程,我不明白如何使用break;命令退出多个循环。

以下是我尝试的一些代码:

    while (true){
        System.out.println("\n\nBank Menu: \nWhat action do you want to perform(Enter a number)?\n\n1. Create a bank account \n2. Log in to a preexisting account \n3. Exit bank system");
        String action1 = scanner.next();
        if (action1.equals("1")) {
            if(!(password==null)){
                if(createAccountTracker==1){
                    createAccountTracker=0;
                    break;
                }
                System.out.println("Are you sure? Creating a new account will remove your preexisting account\n1.Yes\n2.Cancel");
                createaccount = scanner.next();

                if(createaccount.equals(2)) {
                    createAccountTracker=1;
                    break;
                }
            }

            System.out.println("What will your account name be(One Word Only)?");
            accName = scanner.next();
            System.out.println("Please enter your account password: ");
            passwordCheck1 = scanner.next();
            System.out.println("Please reenter your account password: ");
            passwordCheck2 = scanner.next();
            if(passwordCheck1.equals(passwordCheck2)){
                password= passwordCheck2;
                System.out.println("Your account has been made!\n\nThank you for creating an account!\nAccount name: " + accName + "\nPassword: " + password );
                accBalance=0;
            }
            else{
                System.out.println("Error: Two passwords entered do not match. Please try again.");
            }
        }

我试图这样做,如果他们输入2(取消),代码将突破两个循环并返回到银行菜单。我在SO上看到的问题并没有真正帮助我理解。提前谢谢!

1 个答案:

答案 0 :(得分:4)

你可以通过这种方式突破2个循环:

outer: 
while(condition) { // while or for loops, same way
    while(condition2) {
        break outer; // break out of the 2 loops
    }
}

// Other code

" 外部" label标记了局外人循环。