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

妖狐艹你老母 2022-09-23 08:10 266阅读 0赞

1.新建Test类,在main中调用测试方法

  1. public class Test {
  2. public static void main(String[] args) {
  3. // 测试1890年到2030年之间的闰年
  4. for (int y = 1890; y < 2030; y++) {
  5. if (isLeap(y)) {
  6. System.out.println(y + "是闰年!");
  7. }
  8. }
  9. System.out.println("**********************");
  10. // 测试合法日期
  11. for (int y = 2012; y < 2020; y++)
  12. for (int m = -1; m < 14; m++)
  13. for (int d = 0; d < 33; d++) {
  14. if (isValidDate(y, m, d)) {
  15. System.out.println(y + "年" + m + "月" + d + "日是一个合法日期!");
  16. }
  17. }
  18. }
  19. // 判断是否是闰年
  20. public static Boolean isLeap(int year) {
  21. if (year % 4 == 0 && year % 100 != 0) {
  22. return true;
  23. } else if (year % 100 == 0 && year % 400 == 0) {
  24. return true;
  25. } else {
  26. return false;
  27. }
  28. }
  29. // 判断是合法日期
  30. public static Boolean isValidDate(int year, int month, int day) {
  31. if (year > 0 && month > 0 && month < 13 && day > 0 && day < 32) {
  32. if (month == 2) {
  33. if (isLeap(year) && day < 30) {
  34. return true;
  35. }
  36. if (!isLeap(year) && day < 29) {
  37. return true;
  38. }
  39. } else if ((month == 4 || month == 6 || month == 9 || month == 11) && day < 31) {
  40. return true;
  41. }
  42. else if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10
  43. || month == 12)) {
  44. return true;
  45. }
  46. } else {
  47. return false;
  48. }
  49. return false;
  50. }
  51. }
  1. 运行效果片段截图
    这里写图片描述
    这里写图片描述

发表评论

表情:
评论列表 (有 0 条评论,266人围观)

还没有评论,来说两句吧...

相关阅读