标签:
1 public class WanNianLi
2 {
3 int year;//年份
4 int month;//月份
5 int days = 31;//默认31天,所以判断时直接除了4,6,9,11,2,
6 /*
7 * 显示菜单
8 */
9 public void menu()
10 {
11 Console.WriteLine("请输入年");
12 year = Convert.ToInt32(Console.ReadLine());
13 Console.WriteLine("请输入月份");
14 month = Convert.ToInt32(Console.ReadLine());
15
16 switch (month)
17 {
18 case 4:
19 case 6:
20 case 9:
21 case 11:
22 days = 30;
23 break;
24 case 2:
25 // 如果 年能被4整除 但不能被100 整除 + 年被400整除
26 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
27 {
28 days = 29;
29 break;
30 }
31 else
32 {
33 days = 28;
34 }
35 break;
36 default:
37 days = 31;
38 break;
39 }
40 show();
41 }
42
43 public void show()
44 {
45 // 1900-1-1 星期一 1900-1-9(规定)
46 String[] weeks = { "日", "一", "二", "三", "四", "五", "六" };
47 for (int i = 0; i < weeks.Length; i++)
48 {
49 Console.Write(weeks[i] + "\t");
50 }
51 Console.Write("\n==================================\n");
52 int chaDays = 0;
53 for (int i = 1900; i < year; i++)
54 {
55 if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
56 {
57 chaDays += 366;// 闰年366天
58 continue;
59 }
60 chaDays += 365;
61 }
62 //上面方法计算出从1900年1月1日到输入的年,下面方法为把输入的月加上
63 //上一个for加完chaDays,下面的for循环继续在chaDays上累加
64 //这里注意是for循环的把每个月的累加上
65 for (int i = 1; i < month; i++)
66 {
67 switch (i)
68 {
69 case 1:
70 case 3:
71 case 5:
72 case 7:
73 case 8:
74 case 10:
75 case 12:
76 chaDays += 31;
77 break;
78 case 4:
79 case 6:
80 case 9:
81 case 11:
82 chaDays += 30;
83 break;
84 case 2:
85 // 如果 年能被4整除 但不能被100 整除 + 年被400整除
86 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
87 {
88 chaDays += 29;
89 }
90 else
91 {
92 chaDays += 28;
93 }
94 break;
95 }
96 }
97
98
99 // Console.WriteLine("差的天数为:" + chaDays);
100
101 int weekOfDay = (chaDays + 1) % 7;//加一的原因是周日为数组中的第一个
102 // Console.WriteLine(weekOfDay);
103 for (int i = 0; i < weekOfDay; i++)
104 {
105 Console.Write("\t");//空格补位
106 }
107 for (int i = 1; i <= days; i++)
108 {
109 Console.Write(i + "\t");
110 if ((i + weekOfDay) % 7 == 0)
111 {//每一行 七个就换行
112 Console.WriteLine();
113 }
114 }
115
116 }
117 }
标签:
原文地址:http://www.cnblogs.com/yuruolt/p/4713849.html