我使用的是switch语句,效果不错。但是如果在switch里面发生了类似异常的情况,我希望程序能够返回再次要求用户选择。
我将分享一些示例代码。
while (valid != true)
{
System.out.println("Enter a Choice \n1. Choice 1. \n2. Choice 2. \n3. Choice 3.");
int choice = getChoice(); //Get choice just returns an integer from user input.
switch (choice)
{
case 1:
//Do something
valid = true;
break;
case 2:
//Do something
valid = true;
break;
case 3:
//Do something
valid = true;
break;
default:
System.out.println("Invalid Choice.");
}
如果出了问题,validChoice没有被设置为true, 我希望用户能够重新输入选择,但是由于选择已经被设置了。它将直接进入case 3。
我试过的一些方法包括
这些都是在出错的情况下进行的。
将选择设置为null,如果它出错。(本来希望这样做能行得通),但是java并不允许
将选择设置为0,就会让它进入默认情况。
试试这个..:
do {
System.out.println("Enter a Choice \n1. Choice 1. \n2. Choice 2. \n3. Choice 3.");
int choice = getChoice(); //Get choice just returns an integer from user input.
switch (choice)
{
case 1:
//Do something
valid = true;
break;
case 2:
//Do something
valid = true;
break;
case 3:
//Do something
valid = true;
break;
default:
System.out.println("Invalid Choice.");
break;
}
} while (valid != true);
}
}