码迷,mamicode.com
首页 > 其他好文 > 详细

【常用】万年历代码

时间:2015-08-08 21:19:23      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

  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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!