我正在开发一个项目(游戏),其中一个要求是如果他们输入超出范围(1-8)的选项并且输入字符,则发出警告。如果用户输入了一个无效的数字,菜单就会出现并再次询问他们想要哪个选项。如果他们输入一个字符,程序应该要求他们输入一个整数并再次要求输入。这就是我到目前为止所拥有的。它正确识别超出范围的数字并调用菜单。它还标识一个字符(无效输入),但会为用户打开输入以输入正确的选项。如何检查这两个条件?
谢谢,泰勒
int userChoice = scnr.nextInt();//<-- use this variable
if (userChoice.hasNextInt() == false)
{
System.out.println("Error: Menu selection must be an integer! Please try again:");
}
// Variable used for storing what the user's main menu choice
if (0 > userChoice || userChoice > 8)
{
System.out.println("Error: Invalid Menu Selection.");
System.out.println("");
System.out.println("Available Actions:");
System.out.println("(1) Print Market Prices");
System.out.println("(2) Print Detailed Statistics");
System.out.println("(3) Buy Some Sheep");
System.out.println("(4) Buy a Guard Dog");
System.out.println("(5) Sell a Sheep");
System.out.println("(6) Sell a Guard Dog");
System.out.println("(7) Enter Night Phase");
System.out.println("(8) Quit");
System.out.println("What would you like to do?");
userChoice = scnr.nextInt();
}