Сканер Java не чтение консоли в рекурсиях функцииJAVA

Программисты JAVA общаются здесь
Anonymous
Сканер Java не чтение консоли в рекурсиях функции

Сообщение Anonymous »

Я делаю номера -проверку для консольной игры, которая использует рекурсию, чтобы убедиться, что пользователь в конечном итоге дает действительный вход. Но всякий раз, когда я представляю недопустимый вход, я получаю неизбежную стену «это недопустимый вход. Пожалуйста, попробуйте еще раз: это не является действительным входом. Пожалуйста, попробуйте еще раз: это не является действительным входом. Пожалуйста, попробуйте еще раз: «Пока не произойдет StackoverFlowerRor. Я предполагаю, что сканер не читает консоль в рекурсиях. Но я не понимаю, почему это произойдет.

Код: Выделить всё

private int getInt(int greatest, int least)
{
try
{

int output = scanner.nextInt();
if(output > greatest || output < least)
{
System.out.println("That is not a valid input. Please try again:");
return getInt(greatest, least);
}
return output;
} catch (Exception e)
{
System.out.println("That is not a valid input. Please try again:");
return getInt(greatest, least);
}
}
То, что я пробовал до сих пор, - то, что функция закрывает сканер, когда это будет сделано, и использует анализируемую Nextline вместо Nextint.

Подробнее здесь: https://stackoverflow.com/questions/794 ... f-function

Вернуться в «JAVA»