gpt4 book ai didi

java - 获取用户输入的日期并将其保存为java中的日期

转载 作者:行者123 更新时间:2023-11-30 02:40:32 24 4
gpt4 key购买 nike

我试图以 (dd/mm/yy) 格式获取用户的输入,以相同的格式保存并将其与 getter、setter 一起传递给另一个类。我已经尝试过这种方法:

这是我尝试过的:

public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
SimpleDateFormat myFormat = new SimpleDateFormat("dd MM yyyy");
Guest gstObject = new Guest();
try {
System.out.println("Enter check-in date (dd/mm/yy):");
String cindate = input.next();
Date date1 = myFormat.parse(cindate);
gstObject.setIndate(date1);
} catch (ParseException e) {
e.printStackTrace();
}
}

使用此代码,当我输入(27012017 或 27 01 2017)时出现异常:

java.text.ParseException: Unparseable date: "27"  at java.text.DateFormat.parse(DateFormat.java:366)  at edu.lfa.GuestArrayList.main(GuestArrayList.java:49)

请指出我犯了什么错误。

最佳答案

Here's next() 的 javadoc,内容如下:

Finds and returns the next complete token from this scanner. A complete token is preceded and followed by input that matches the delimiter pattern.

默认分隔符是空格,因此,它只能读取27。您需要使用 nextLine() 读取整行。以下应该有效:

System.out.println("Enter check-in date (dd/mm/yy):");
String cindate = input.nextLine();
if(null != cindate && cindate.trim().length() > 0){
Date date1 = myFormat.parse(cindate);
}

更新要检查null或空字符串,您需要将解析代码包装在if条件中。

关于java - 获取用户输入的日期并将其保存为java中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41881501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com