как проверить правильность типа данных ввода пользователя (класс Java Scanner)

Я пытаюсь создать простой пользовательский интерфейс, который просит пользователей вводить числа двойного типа. Если их ввод не является двойным типом, программа должна продолжать печатать приглашение до тех пор, пока пользователь не введет допустимый двойной тип. Мой код ниже еще не совсем работает, потому что, когда пользователь вводит допустимый двойной тип, программа ничего не делает, если пользователь не вводит другой номер двойного типа. Я предполагаю, что условие (sc.hasNextDouble ()) в цикле while потребляет первый допустимый ввод. Как это исправить? большое спасибо

Scanner sc = new Scanner(System.in);

System.out.println("Type a double-type number:");
while (!sc.hasNextDouble())
{
    System.out.println("Invalid input\n Type the double-type number:");
    sc.next();
}
userInput = sc.nextDouble();    // need to check the data type?

Ответы на вопрос(5)

Ваш ответ на вопрос