您的位置:首页 > 编程语言 > Java开发

java中闰年的判断,以及判断是否是一个合法日期

2016-07-06 19:21 836 查看
1.新建Test类,在main中调用测试方法

public class Test {

public static void main(String[] args) {

// 测试1890年到2030年之间的闰年
for (int y = 1890; y < 2030; y++) {
if (isLeap(y)) {
System.out.println(y + "是闰年!");
}
}
System.out.println("**********************");
// 测试合法日期
for (int y = 2012; y < 2020; y++)
for (int m = -1; m < 14; m++)
for (int d = 0; d < 33; d++) {
if (isValidDate(y, m, d)) {
System.out.println(y + "年" + m + "月" + d + "日是一个合法日期!");
}

}

}

// 判断是否是闰年
public static Boolean isLeap(int year) {

if (year % 4 == 0 && year % 100 != 0) {
return true;
} else if (year % 100 == 0 && year % 400 == 0) {
return true;
} else {
return false;
}

}

// 判断是合法日期
public static Boolean isValidDate(int year, int month, int day) {

if (year > 0 && month > 0 && month < 13 && day > 0 && day < 32) {

if (month == 2) {
if (isLeap(year) && day < 30) {
return true;
}
if (!isLeap(year) && day < 29) {
return true;
}

} else if ((month == 4 || month == 6 || month == 9 || month == 11) && day < 31) {
return true;
}

else if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10
|| month == 12)) {
return true;
}

} else {

return false;
}
return false;

}

}


运行效果片段截图



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 闰年 合法日期