昨天我初步学习了一下C#方法的概念,但是老师却留了一个比较难的练习,我写完这个之后也觉得不是代码很难,难在逻辑思维上,既然是年历,那肯定是由月历组成的,月历呢?又是由天数和星期数组成的,只需先写出月历,然后用for循环调用12遍,即可完成;
思路分析:
我们创建出打印月历的方法,C#中好像是自带了一个判断星期数的方法,我们一般把星期日作为一个星期的第一天,然后根据第一天是星期几就在它前面加几个\t作为for循环的条件,确定天数第一行与星期数对齐,然后我们可以根据月份大小,再加一个for循环,打印出后面的天数,一样,从1开始,不换行的中间加\t保持对齐,然后还一点就是每逢周六换行,可以用一开始自带的判断星期数的方法,方法中把for循环的变量值赋值给这个方法的“day”参数中,然后方法判断天数为周六,则换行。接着写出判断星期数的方法、判断闰年的方法和判断月份天数的方法写出来,然后把打印月历的方法调用12遍,最后用主函数调用打印年历的方法,即可解决;
代码如下:
using System;
namespace 复习1__年历
{
class Program
{
//根据年月日,计算星期数
private static int GetWeekByDay(int year,int month,int day)
{
DateTime dt = new DateTime(year,month,day);
re