这是我第一次在 stackoverflow 上发帖。我需要一些帮助来验证从 String 到 Calendar 的用户输入。
例如,如果用户输入诸如“1”或“hi”之类的内容。我如何验证并提示用户输入 DDMMYYYY 格式的错误消息(类似于 04 02 2015)
System.out.print("Enter Date (DD MM YYYY): ");
input.nextLine();
String pickUpDate = input.nextLine();
Calendar pd = stringToCalendarConverter(pickUpDate);
public static Calendar stringToCalendarConverter(String stringToCal) //Converts String to Calendar
{
try
{
DateFormat df = new SimpleDateFormat("dd MM yyyy");
Date date = df.parse(stringToCal);
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
return calendar;
}
catch (ParseException n)
{
return null;
}
最佳答案
调用DateFormat.setLenient(boolean)
上面说(部分)通过严格解析,输入必须匹配此对象的格式。 类似于,
DateFormat df = new SimpleDateFormat("dd MM yyyy");
df.setLenient(false);
然后在循环中调用您的方法(在 null
上重新提示日期)
Calendar pd = null;
while (pd == null) {
System.out.print("Enter Date (DD MM YYYY): ");
input.nextLine();
String pickUpDate = input.nextLine();
pd = stringToCalendarConverter(pickUpDate);
}
关于java - 如何验证字符串到日历输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28314209/