Chornologic:
Ich habe ein Datum Zeit Formatter, die ich Format eingegeben Daten in Format versuchen (d / Monat / Jahr), unten gezeigt
DateTimeFormatter format = DateTimeFormatter.ofPattern("dd/MM/yyyy");
Ich verwende dann diese Formatierer Benutzereingabe auf dem Geburtsdatum als String zu nehmen und dann das als LOCALDATE Variable durch zu speichern versucht zu analysieren, mit Temp den Benutzer eingegebenen Geburtsdatum Speicherung
public void addCustomer() throws ParseException {
customerID++;
//Create Scanner
Scanner scan = new Scanner(System.in);
//Take user input
System.out.println("Please enter your name: ");
String name = scan.nextLine();
System.out.println("Please enter your Date of Birth(dd/MM/yyyy): ");
String temp = scan.nextLine();
LocalDate date = LocalDate.parse(temp);
Customer c = new Customer(customerID, name, date, false, "N/A");
customers.add(c);
}
Jedoch gibt diese immer einen DateTimeParseException: Text nicht analysieren konnte. Ist die Frage, wie ich die Einstellung der Datum Zeit Formatter immer führen diese Ausnahme auf? Shown Below
Exception in thread "main" java.time.format.DateTimeParseException: Text '27/01/1999' could not be parsed at index 0
at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2046)
at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1948)
at java.base/java.time.LocalDate.parse(LocalDate.java:428)
at java.base/java.time.LocalDate.parse(LocalDate.java:413)
at BikeNow.addCustomer(BikeNow.java:153)
at BikeNow.main(BikeNow.java:98)
Ros5292:
Fahren Sie mit DateTimeFormatter
Objekt.
Ändere das:
LocalDate date = LocalDate.parse(temp);
... dazu:
LocalDate date = LocalDate.parse(temp, format);