Метод неправильно считывает Scanner

Суть метода заключается в том, что он считывает команды пользователя при помощи Scanner() и, в зависимости от результата ввода, что-то делает.

Проблема заключается в том, что мой метод срабатывает дважды(?). Т.е., он срабатывает так, что первый раз в операторе if он избирает себе долю else (т.е. срабатывает так, будто команда была введена неправильно), после чего запускается уже правильно, и принимает команды так, как того желал я.

Scanner() у меня один на программу, до выполнения метода он вызывается один раз для снятия показаний, передаваемых после одному важному int.

Вот код самого метода commandLine():

private static void commandLine() { // тут задают команды

    try {

        System.out.println("Введите команду: " + "\n" +
                "/devastation - опустошить" + "\n" +
                "/withdrawal - снять определенную сумму" + "\n");

        String command = input.nextLine(); System.out.println();

        if(command.equals("/devastation")) devastation(); // обнуление
        else if(command.equals("/withdrawal")) cashWithdrawal(); // запуск диалога пользовательского запроса
        else System.out.println("\nВведите команду!\n"); // если команда введена неправильно

    } catch(InputMismatchException | BankomatExceptions commandLineException) {

        System.out.println("\nПерехвачено исключение!\n");

    }

}

Ответы (1 шт):

Автор решения: AndreyKirov

Попробуй, после того, как в коде считал "важный int", вызвать input.nextLine();

→ Ссылка