- 对于任意3个整数,判断其是否为一个合法的日期值?
- 给定一个日期值,计算若干天数后的日期值。
- 如果有两个日期值,计算它们相距的天数。
我将这些功能写在了一个类里面。Test_2_6.java
使用Test_2_6_1.java,Test_2_6_2.java,Test_2_6_3.java 来使用Test_2_6.java
1public class Test_2_6 ...{
2 private int LaterDayCount,LaterCurrentDay;
3 //判断是否为闰年
4 public boolean isLeapYear(int year)
5 ...{
6 boolean leap=false;
7 leap=(year%400==0)|(year%100!=0)&(year%4==0);
8 return leap;
9 }
10 //是否是合法日期值
11 public boolean isDate(int year,int month,int day)
12 ...{
13 boolean isDate=false;
14 if (month>0&&month<13&&year>0&&day>0)
15 ...{
16 switch (month)
17 ...{
18 case 1:if (day<32) break;else return false;
19 case 2:
20 if (!isLeapYear(year))//不是闰年
21 ...{
22 if (day<29) break;else return false;
23 }
24 else//闰年
25 ...{
26 if (day<28) break;else return false;
27 }
28 case 3:if (day<32) break;else return false;
29 case 4:if (day<31) break;else return false;
30 case 5:if (day<32) break;else return false;
31 case 6:if (day<31) break;else return false;
32 case 7:if (day<31) break;else return false;
33 case 8:if (day<32) break;else return false;
34 case 9:if (day<31) break;else return false;
35 case 10:if (day<32) break;else return false;
36 case 11:if (day<31) break;else return false;
37 case 12:if (day<32) break;else return false;
38 }
39 isDate=true;
40 }
41
42 return isDate;
43 }
44 public boolean isDate(int year,int month)
45 ...{
46 boolean isDate=false;
47 if (month>0&&month<13&&year>0) isDate=true;
48 return isDate;
49 }
50 public boolean isDate(int year)
51 ...{
52 boolean isDate=false;
53 if (year>0) isDate=true;
54 return isDate;
55 }
56 //年历中,从第一天开始到某月的最后一天的天数总数。
57 public int DateCountTable(int year,int month)
58