我希望重复以下菜单:
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 - 如何在Java中保持switch语句继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59411268/