java 在这段代码中,标志变量是如何返回主菜单的?

lnlaulya  于 2022-11-20  发布在  Java
关注(0)|答案(1)|浏览(166)
public class FlagPr {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        boolean flag = true;
        while (true) {
            System.out.println("Are you a human being or a robot? : ");
            System.out.println("1. a human being");
            System.out.println("2. a robot");
            int menu = sc.nextInt();
            switch (menu) {
            case 1: {
                System.out.println("What type of human being are you?");
                System.out.println("1. Good");
                System.out.println("2. Bad");
                System.out.println("3. Back to main");
                int select = sc.nextInt();
                if (select == 1) {
                    System.out.println("ARE YOU SURE");
                } else if (select == 2) {
                    System.out.println("YOU MUST BE THE SHIT ONE");
                } else if (select == 3) {
                    flag = true;

                }

            }
            default:
                break;
            }

        }
    }

}

我正在学习用Java制作一个小菜单,发现flag变量可以让我回到主菜单,但我不能理解flag变量的工作流程。

ippsafx7

ippsafx71#

您可以将此标志变量视为标记。
您应该从boolean flag = false;开始,而不是将其设置为true。
当您的用户选择选项3时,* 则 * 您将flat设置为true。
在while循环结束时,您将对标志的值进行条件检查。
示例:

if(flag == true) {
    // code to return to main menu
}

这样做可以让switch语句执行操作,而 * 不必 * 再次向用户显示菜单选项。
用户将输入一个选项,switch语句将发生,case中的代码将执行,然后while循环将再次继续。

相关问题