首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用LocalDate获取输入

使用LocalDate获取输入
EN

Stack Overflow用户
提问于 2017-03-01 11:39:13
回答 1查看 9.4K关注 0票数 2

所有人!我正在尝试使用LocalDate从用户那里获取日期输入的方法。我收到一个错误,说“类型不匹配:无法从字符串转换为LocalDate。”我知道为什么会发生这个错误,但我想知道是否有其他方法可以解决这个问题。

代码语言:javascript
复制
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的新手,所以任何帮助都将不胜感激!谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-01 11:49:10

dateInput的返回值更改为LocalDate

代码语言:javascript
复制
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 ;
}

并修改:

代码语言:javascript
复制
LocalDate newDate = dateInput(stringInput("Enter a date (like 3/3/17): "));

除此之外,您还需要注意yyyy格式化程序

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42522744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档