gpt4 book ai didi

java - 如何让 switch 语句在 Java 中继续运行

转载 作者:行者123 更新时间:2023-11-29 02:58:15 25 4
gpt4 key购买 nike

我希望让以下菜单不断重复:

Choose an Option

1 - FIND

2 - IN-SHUFFLE

3 - OUT-SHUFFLE

这样当用户选择一个选项时(这将被执行),之后他们也可以选择其他选项。

问题:我的代码使菜单不停地重复。

import java.util.Scanner;

public class MainMenu {
public static void main(String[] args) {
int userChoice;
userChoice = menu();
}

private static int menu() {
Scanner scanner = new Scanner(System.in);
System.out.println("Choose an Option");
System.out.println("1 - FIND");
System.out.println("2 - IN-SHUFFLE");
System.out.println("3 - OUT-SHUFFLE");

int choice = scanner.nextInt();
boolean quit = false;
do {
System.out.println("Choose an Option");
switch (choice) {
case 1:
System.out.println("\n1 - FIND\n");
//Deck.findTop();
break;
case 2:
System.out.println("\n2 - IN-SHUFFLE\n");
// call method
break;
case 3:
System.out.println("\n3 - OUT-SHUFFLE\n");
// call method
break;
default:
System.out.println("\nInvalid Option");
break;
}
}
while (!quit);

return choice;
}

}

我不确定如何才能阻止它不断重复。

最佳答案

您的代码中的一个问题是方法 menu 返回一个选项,因此它可以用于仅从控制台读取一个选项,或者执行整个对话框,直到用户决定辞职。后者更好,恕我直言,因为它使菜单显示靠近 switch 语句:

private static void menu()
{
Scanner scanner = new Scanner(System.in);

System.out.println("Choose an Option");
System.out.println("1 - FIND");
System.out.println("2 - IN-SHUFFLE");
System.out.println("3 - OUT-SHUFFLE");
System.out.println("4 - QUIT");

boolean quit = false;
do {
System.out.println("Choose an Option");
int choice = scanner.nextInt();

switch (choice) {
case 1:
System.out.println("\n1 - FIND\n");
Deck.findTop();
break;
case 2:
System.out.println("\n2 - IN-SHUFFLE\n");
// call method
break;
case 3:
System.out.println("\n3 - OUT-SHUFFLE\n");
// call method
break;
case 4:
System.out.println("\n4 - QUIT");
quit = true;
break;
default:
System.out.println("\nInvalid Option");
break;
}
}
while (!quit);
}

关于java - 如何让 switch 语句在 Java 中继续运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59423453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com