执行以下代码时,我收到ParseException错误:
String date;
Scanner in = new Scanner(System.in);
System.out.println("Please enter the date of birth, in format 'January 2, 2010'");
date = in.nextLine();
in.close();
Date birth = new Date();
birth = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(date);
birthcal.setTime(birth);
我想我明白为什么,因为我没有清理输入。我想知道解决这个问题的最佳方法是什么。任何解析日期的帮助将不胜感激。
(PS 当我试图捕捉错误时,会弹出另一个特殊问题,即:
String date;
Scanner in = new Scanner(System.in);
System.out.println("Please enter the date of birth, in format 'January 2, 2010'");
date = in.nextLine();
in.close();
Date birth = new Date();
try {
birth = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
birthcal.setTime(birth);
这里的问题是NullPointerException。我不明白这怎么可能。我想当你用 初始化时new Date()
,它会为它设置一个值,这意味着代码的最后一行将至少指向 SOMETHING。对此的任何帮助也将不胜感激。)