使用 LocalDate 获取输入
taking input using LocalDate
各位!我正在想办法使用 LocalDate 从用户那里获取日期输入。我收到一条错误消息 "Type mismatch: cannot convert from String to 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;
}
我是 Java 的新手,所以我们将不胜感激!谢谢!
将 dateInput
的 return 更改为 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 ;
}
并修改:
LocalDate newDate = dateInput(stringInput("Enter a date (like 3/3/17): "));
除此之外,您还需要关心 yyyy
格式化程序
各位!我正在想办法使用 LocalDate 从用户那里获取日期输入。我收到一条错误消息 "Type mismatch: cannot convert from String to 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;
}
我是 Java 的新手,所以我们将不胜感激!谢谢!
将 dateInput
的 return 更改为 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 ;
}
并修改:
LocalDate newDate = dateInput(stringInput("Enter a date (like 3/3/17): "));
除此之外,您还需要关心 yyyy
格式化程序