Я работаю над проектом (игрой), и одно из требований - иметь предупреждения, если они вводят параметр вне диапазона (1-8), и если они вводят символ. Если пользователь вводит недопустимый номер, появляется меню и снова запрашивает, какой вариант они хотели бы. Если они вводят символ, программа должна попросить их ввести целое число и снова запросить ввод. Это то, что у меня есть до сих пор. Он правильно идентифицирует номер за пределами диапазона и напоминает меню. Он также идентифицирует символ (недопустимый ввод), но открывает ввод для пользователя, чтобы ввести правильный вариант. Как проверить оба условия?Проверка, является ли вход пользователя в диапазоне и является целым (Java)
Спасибо, Тайлер
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();
}
Вы проверки 'hasNExtInt()' после того, как вы получили 'int'. –
Где я должен это проверить? –