注册 登录
编程论坛 C# 论坛

新手初学C#求大神解答,输出日历的方法要怎样写,我这样写该怎么改

勿忘心安、 发布于 2016-07-27 20:34, 2987 次点击
     public void  Calendar()
        {
            switch (_month)
            {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:

                    for (int i = 1; i <= 31; i++)
                    {
                        Console.Write(i + " ");
                        if (i % 7 == 0)
                        {
                            Console.WriteLine();
                        }
                    }
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    for (int i = 1; i <= 30; i++)
                    {
                        Console.Write(i + " ");
                        if (i % 7 == 0)
                        {
                            Console.WriteLine();
                        }
                    }
                    break;
                case 2:
                    if (_year % 4 == 0 && _year % 100 != 0 || _year % 400 == 0)
                    {
                        for (int i = 1; i <= 29; i++)
                        {
                            Console.Write(i + " ");
                            if (i % 7 == 0)
                            {
                                Console.WriteLine();
                            }
                        }
                    }
                    else
                    {
                        for (int i = 1; i <= 28; i++)
                        {
                            Console.Write(i + " ");
                            if (i % 7 == 0)
                            {
                                Console.WriteLine();
                            }
                        }
                    }
                    break;
            }
        }
1 回复
#2
yhlvht2016-07-30 18:29
这样写可以输出答案啊
当然也可以这样写
namespace ConsoleApplication1
{
    class program
    {
        private static int _month = 4;
        private static int _year = 2016;

        public static void Main(string[] args)
        {
            DateTime dt = new DateTime(_year, _month, 1);
            DateTime dt1 = dt.AddMonths(1);
            while ((dt1) < 0)
            {
                Console.Write(dt.Day + " ");
                if (dt.Day % 7 == 0)
                {
                    Console.WriteLine();
                }
                dt = dt.AddDays(1);  
            }
            Console.Read();
        }
    }
}
1