Итак, я только недавно узнал, как создать цикл, который может повторять определенную строку кода, если определенные критерии не выполняются.После повторяющейся практики я успешно смог использовать цикл со многими различными программами, но я столкнулся с проблемой, которую не могу решить, когда дело доходит до того, что пользователь вводит неправильный формат даты.Вот код, который вызывает у меня проблемы:
loop:
while(true) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the Date: ");
date1 = scanner.next();
SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy");
Date date2=null;
try {
date2 = dateFormat.parse(date1);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println("The date you've entered is: " + date2);
break loop;
}
Когда я проверяю, что произойдет, если я введу неправильную дату (например, я просто ввел число 3), она продолжитсяк следующим строкам кода, сообщая мне, что введенная дата не может быть проанализирована, потому что формат был неправильным.Почему это не зацикливается?Это ошибка, которая дает мне дословно:
java.text.ParseException: Unparseable date: "3"
The date you've entered is: null
Customer 1 profile:
at java.text.DateFormat.parse(Unknown Source)
at Creations.Shop.main(Shop.java:82)