class DayCounter 4 A( g& m! n- V9 z" M$ `. W# F
{ `- B+ b' |; w+ s& w [) y
public static void main(String[] arguments) 0 q# j6 f; g6 O3 @+ J. Y( f) V
{ - k4 D2 _6 t1 z, w. O
int yearIn = 2001; //可以改变 年 月的数据
9 m; K! ^8 V8 r! {. {: ]$ o int monthIn = 3;
: N( j3 Z+ F& J: I* t8 A if (arguments.length > 0) //也可以从命令行上来输入 6 N$ w$ I' ^6 J% j% b
monthIn = Integer.parseInt(arguments[0]); , e; s. ^' x1 Y4 Q E( I: I6 p8 _
if (arguments.length > 1)
" O* u/ `2 T1 e1 r- M/ ^ yearIn = Integer.parseInt(arguments[1]); 0 F% O Q1 v+ B2 o& ]% A" u. y3 ^: a
System.out.println(monthIn + "/" + yearIn + " has " + countDays(monthIn, yearIn) + " days."); z7 y2 S6 D0 e
} & _0 \8 U( F3 m( x" z4 n6 I- O- v
public static int countDays(int month, int year)
1 c# s L# o" m+ n# A2 V; D; Z" J{ b6 T; Z. \, N
int count = -1;
, g2 U. Z7 M* E4 N9 U5 b' W switch (month)
& O% x& u8 S+ X{
6 t4 J1 _6 g) h2 y* t case 1: //识别大月 * O! N1 w7 z6 n o9 L
case 3: $ @) Z/ P e+ `! D9 K$ W
case 5: 4 ~5 l0 O. ~) i4 u6 q
case 7:
; i$ O, C# [; f6 o case 8:
* X1 \- V7 S! R0 }! [' Y* C case 10: 2 A5 L+ F. S, }2 K% e3 [2 U9 M- a
case 12:
$ ]% @' g0 f% S, f+ |! P count = 31; - F9 y% v0 y( @7 i% F, `
break; 5 b6 O5 a! R+ a4 N2 f
case 4: //识别小月 0 f* L0 g: z0 w( m( O L- t: E
case 6:
- F: v, i/ ]% k; @( ^5 P2 \ case 9:
7 A/ K/ {" _( a2 ~6 h- E case 11:
: R ~- r' Z- a$ A8 }3 I0 l9 f6 m count = 30; 1 V. d7 R) u E
break; ; B* W# F# k0 r6 z: z% @9 R0 e
case 2: //识别平月
! `3 j6 k" q! ?; ^2 j9 K6 g if (year % 4 == 0) & ~) [. u* v) k( ]6 _, P! b0 B$ s
count = 29;
' R8 K3 s# H7 w/ q! x else * }' n# r5 ?3 p
count = 28; 4 ~3 S( v* M3 v: p$ K
if ((year % 100 == 0) & (year % 400 != 0))
# H, X" M6 k A) C5 x count = 28;
5 T4 a6 q, h. u7 a2 q( \; D } $ ^9 P/ Q3 b0 r4 d
return count; / c# W# h+ {7 ?
}
7 h, [+ y: G& w( r0 \; s} |