关于java的日历程序

2025-02-23 10:19:43
推荐回答(1个)
回答1:

修改部分见注释

    public static void main(String[] args)
    {
        System.out.println("   日           一          二           三           四            五           六");
        Calendar rili = Calendar.getInstance();
        rili.set(2011, 3, 1);
        int xingqi = rili.get(Calendar.DAY_OF_WEEK) - 1;
        String a[] = new String[xingqi + 30];
        for (int i = 0; i < xingqi; i++)
        {
            a[i] = "**";
        }
        for (int i = xingqi, n = 1; i < xingqi + 30; i++)
        {
            if (n <= 9)
                a[i] = String.valueOf(n) + " ";
            else
                a[i] = String.valueOf(n);
            n++;
        }
        
        //a[i]的i从0开始,你下面从1开始循,自然少了第一个
        for (int i = 0; i < a.length; i++)
        {
            //遇到星期六应该是先打印日期,再换行,你之前是先换行,再打星期六
            System.out.print("  " + a[i]);
            
            //改了循环起始位置,此处改为i+1
            if ((i + 1)% 7 == 0)
            {
                System.out.println(" ");

            }
        }
    }