【发布时间】:2016-04-28 00:18:09
【问题描述】:
以下代码在 try catch 块捕获异常后终止。它不允许我从菜单选项中进行选择。所以我的问题是我必须对此代码进行哪些更改,以便我可以循环回来,以便我可以再次获得用户输入。
public class Main {
public static void main(String[] args) {
Modify modifyObj = new Modify();
int choice = 0 ;
Scanner input = new Scanner(System.in);
//begin loop
do {
try{
//display menu
System.out.println("Choose one option from following option available: ");
System.out.println("0) Exit program. ");
System.out.println("1) Create a Roster");
System.out.println("2) Modify a Roster");
System.out.println("3) Delete a Roster");
choice = input.nextInt(); //gets user input
switch (choice) {
case 1:
//code
break;
case 2:
//code
break;
case 3:
//code
break;
}// end of switch statement
break;
}//end oftry
catch(InputMismatchException inputMismatchException){
System.out.println("Enter integer value between 0 and 7:");
continue;
}
}while (choice!=0); //loop until user exit 0.
}//end of main
}// end of Main class
【问题讨论】:
-
为什么
switch(choice)块结束后还有break;?这不会把你踢出循环吗? -
那是我的代码中的错字,我刚改了仍然有同样的问题。
-
我怀疑@Elliot 的答案解决了异常情况下的问题。无关的
break的存在防止重复循环,直到选择退出。
标签: java switch-statement try-catch