2017-03-01 3 views
2

alle! Ich versuche, einen Weg zu finden, eine Datumseingabe von Benutzer zu erhalten, der LocalDate verwendet. Ich erhalte einen Fehler, der besagt, dass "Typenkonflikt nicht von String in LocalDate konvertiert werden kann". Ich weiß, warum dieser Fehler passiert, aber ich möchte wissen, ob es einen anderen Weg gibt, um dies zu umgehen.Eingabe unter Verwendung von LocalDate

String newName = stringInput("Enter a product name: "); 
String newStore = stringInput("Enter a store name: "); 
LocalDate newDate = dateInput("Enter a date (like 3/3/17): "); 
double newCost = doubleInput("Enter cost: "); 

    /* the third parameter of Purchase2 is a LocalDate which I think is the reason for my error. 
    * Is there any way to get around this? 
    */ 
Purchase2 purchase = new Purchase2(newName, newStore, newDate, newCost); 
      purchases.add(purchase); // I'm adding these to an ArrayList 


    /* 
    * This is the method I created for newDate 
    * I need to take the date as String and convert it to LocalDate 
    */ 
public static String dateInput(String userInput) { 

    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("M/d/yyyy"); 
    LocalDate date = LocalDate.parse(userInput, dateFormat); 


    System.out.println(date); 
    return userInput; 
} 

Ich bin wirklich neu in Java, so wird jede Hilfe geschätzt werden! Vielen Dank!

+0

einfach den zu 'LocalDate' Rückgabetyp ändern und' Rückkehrdatum; '. – shmosel

+0

Sie meinen, ändern Sie meine DateInput-Parameter von String zu LocalDate? Danke, für die schnelle Antwort! – user7382031

Antwort

2

Ihre Rückkehr von dateInput zu LocalDate

public static LocalDate dateInput(String userInput) { 

    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("M/d/yyyy"); 
    LocalDate date = LocalDate.parse(userInput, dateFormat); 


    System.out.println(date); 
    return date ; 
} 

ändern und ändern:

LocalDate newDate = dateInput(stringInput("Enter a date (like 3/3/17): ")); 

Außer, dass Sie yyyy Formatierer brauchen Pflege

+0

Das hat funktioniert! Ich danke dir sehr! – user7382031

Verwandte Themen