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变量的工作流程。
1条答案
按热度按时间ippsafx71#
您可以将此标志变量视为标记。
您应该从
boolean flag = false;
开始,而不是将其设置为true。当您的用户选择选项3时,* 则 * 您将flat设置为true。
在while循环结束时,您将对标志的值进行条件检查。
示例:
这样做可以让switch语句执行操作,而 * 不必 * 再次向用户显示菜单选项。
用户将输入一个选项,switch语句将发生,case中的代码将执行,然后while循环将再次继续。