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 }
时间: 2024-10-27 10:41:23