При проверке ввода цены с помощью hasNextDouble() он печатает «Неверный ввод» и только затем запрашивает ввод. ⇐ JAVA
При проверке ввода цены с помощью hasNextDouble() он печатает «Неверный ввод» и только затем запрашивает ввод.
Итак, у меня есть Java-программа, которая требует от пользователя добавления продуктов в систему. При проверке цены продукта я получаю следующий результат:
Введите цену продукта: Введите количество доступных предметов: Он каждый раз пропускает цену продукта и переходит к вводу «Количество доступных продуктов:».
Это моя реализация проверки входных данных.
сделать { System.out.print("\nВведите идентификатор продукта: "); идентификатор продукта = input.next(); } Пока (checkProductID (productID)); //Получаем другую информацию о продукте System.out.print("\nВведите имя продукта: "); Строка ProductName = input.next(); System.out.print("\nВведите цену продукта: "); //Проверяем, является ли введенная цена действительным двойным значением while (!input.hasNextDouble()) { System.out.println("Неверный ввод"); System.out.print("\nВведите цену продукта: "); вход.следующий(); } двойная цена продукта = input.nextDouble(); System.out.print("\nВведите количество доступных элементов: "); int noOfAvailableItems = input.nextInt(); Вышеупомянутое — лишь небольшая выдержка из моего кода, поскольку это делается для задания.
Я попробовал несколько вариантов проверки, но ни один из них не помог решить эту проблему.
сделать { input.nextLine(); System.out.println("Неверный ввод"); System.out.print("\nВведите цену продукта: "); } while (!input.hasNextDouble()); двойная цена продукта = input.nextDouble(); Я попробовал еще один подход, но на этот раз результат был следующим:
Введите цену продукта: неверный ввод. Введите цену продукта:
Итак, у меня есть Java-программа, которая требует от пользователя добавления продуктов в систему. При проверке цены продукта я получаю следующий результат:
Введите цену продукта: Введите количество доступных предметов: Он каждый раз пропускает цену продукта и переходит к вводу «Количество доступных продуктов:».
Это моя реализация проверки входных данных.
сделать { System.out.print("\nВведите идентификатор продукта: "); идентификатор продукта = input.next(); } Пока (checkProductID (productID)); //Получаем другую информацию о продукте System.out.print("\nВведите имя продукта: "); Строка ProductName = input.next(); System.out.print("\nВведите цену продукта: "); //Проверяем, является ли введенная цена действительным двойным значением while (!input.hasNextDouble()) { System.out.println("Неверный ввод"); System.out.print("\nВведите цену продукта: "); вход.следующий(); } двойная цена продукта = input.nextDouble(); System.out.print("\nВведите количество доступных элементов: "); int noOfAvailableItems = input.nextInt(); Вышеупомянутое — лишь небольшая выдержка из моего кода, поскольку это делается для задания.
Я попробовал несколько вариантов проверки, но ни один из них не помог решить эту проблему.
сделать { input.nextLine(); System.out.println("Неверный ввод"); System.out.print("\nВведите цену продукта: "); } while (!input.hasNextDouble()); двойная цена продукта = input.nextDouble(); Я попробовал еще один подход, но на этот раз результат был следующим:
Введите цену продукта: неверный ввод. Введите цену продукта:
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение