【发布时间】:2018-09-23 20:32:28
【问题描述】:
我想知道在 switch 语句中循环最有效的方法是什么。下面我有一个 userInput 变量,如果在这里可以更好地实现 if/then 语句以继续我的菜单选择,直到输入 -1 以退出我的程序,或者如果 do/while 循环更合适,我想提出建议。
import java.util.Scanner;
public class VirtualZoo
{
public static void main(String[] args)
{
// Options
final int catType = 0,
dogType = 1,
duckType = 2,
exit = -1;
// create Scanner
Scanner input;
input = new Scanner(System.in);
int userInput;
System.out.println("Welcome to the Zoo");
System.out.println("Pick select an animal to visit");
System.out.println("=================================");
System.out.println("===========MAIN MENU=============");
System.out.println("=================================");
System.out.println("== " + catType + ") Cat ===================");
System.out.println("== " + dogType + ") Dog ===================");
System.out.println("== " + duckType + ") Duck ===================");
System.out.println("== " + exit + ") EXIT ===================");
System.out.println("=================================");
System.out.println();
System.out.println();
System.out.println( "Input : ");
Scanner sc = new Scanner(System.in);
userInput = sc.nextInt();
Animal animalSelected = null;
switch (userInput)
{
case 0:
animalSelected = new Cat();
break;
case 1:
animalSelected = new Dog();
break;
case 2:
animalSelected = new Duck();
break;
case -1:
System.out.println("\n" + "Thank you for visiting the Virtual Zoo" + "\n" + "Goodbye!");
break;
default:
break;
}
if (animalSelected != null)
{
System.out.println(animalSelected);
}
}
}
【问题讨论】:
-
if then switch 不会循环你的执行。这将只是单程。那么问题出在哪里?
-
My issue is that I tried implementing a do while loop so that if the userInput, when -1 was selected, would exit my program, but if any other number is selected 0-2 the program would prompt你选择另一种动物。我基本上想要一个无限循环,直到用户决定退出,但是 do while 不适用于我的最终 if 语句。
-
但是你给我看的代码没有循环
-
那么为什么 domt ylu 首先解开你根本不工作的循环以及为什么它不工作以及如何解决这个问题。现在你的代码“工作正常”
标签: java loops if-statement do-while