java编程 ''if语句

java编程 ''if语句求一个简洁的程序代码

第1个回答  2017-12-17
/**
 * 日期验证
 */
public class Validate {

/**
 * 验证日期格式
 * @param datestr 日期字符串(yyyy-MM-dd)
 * @return 验证结果
 */
public static String validate(String datestr){
// 1.判断输入格式是否正确(正则表达式)(输入标准时可省略)
if(!datestr.matches("[0-9]{4}-[0-9]{2}-[0-9]{2}")){
return "输入格式错误";
}

// 2.使用"-"分割字符串
String[] datestrArr = datestr.split("-");

// 3.年份判断
int year = Integer.valueOf(datestrArr[0]);
if(year < 1900 || year > 2013){
return "年份格式不正确";
}

// 4.月份判断
int month = Integer.valueOf(datestrArr[1]);
if(month < 1 || month > 12){
return "月份格式不正确";
}

// 5.日期判断
int day = Integer.valueOf(datestrArr[2]);

// 特殊月份判断(根据提问可省略)
if(month == 4 || month == 6 || month == 9 || month == 11){
if(day == 31){
return "日期格式不正确";
}
}
else if(month == 2){
// 闰年
if(year % 4 == 0){
if(day > 29){
return "日期格式不正确";
}
}
else {
if(day > 28){
return "日期格式不正确";
}
}
}

// 根据提问判断
if(day < 1 || day > 31){
return "日期格式不正确";
}

return "你的生日格式正确";
}

public static void main(String[] args){
String datestr = "2012-02-29";
String result = validate(datestr);
System.out.println(result);
}

}