Java初级编程示例:日历小程序

Java日历小程序

import java.time.*;

public class test1 {

    public static void main(String[] args)
    {
        //
        LocalDate date = LocalDate.now();
        int Month = date.getMonthValue();
        int Today = date.getDayOfMonth();

        date = date.minusDays(Today-1);
        DayOfWeek WeekDay = date.getDayOfWeek();
        int Value = WeekDay.getValue();

        //输出日历表头,每个星期中间使用制表符
        System.out.println("Mon Tue Wed Thu Fri Sat Sun");

        //通过for循环将每月1号之前的空位用制表符缩进,用Value的值来控制
        //需注意此处的空字符是Tab
        for(int i = 1; i < Value; i++)
            System.out.print("  ");

        //用while来循环显示每月的每一天
        while(date.getMonthValue() == Month)
        {

            //输出对应日期
            System.out.printf("%d", date.getDayOfMonth());

            //如果此时输出的日期等于之前获得的当前日期Today,则在日期后加*标识,后边记得加Tab,否则直接Tab
            if(date.getDayOfMonth() == Today)
                System.out.print("* ");
            else
                System.out.print("  ");

            //给日期加一
            date = date.plusDays(1);

            //如果此时星期对应的值为1,即下一个要打印的日期为星期一一列,则回车换行
            if(date.getDayOfWeek().getValue() == 1)
                System.out.println();
        }

    if(date.getDayOfWeek().getValue() != 1)
        System.out.println();
    }
}

效果如图

这里写图片描述

猜你喜欢

转载自blog.csdn.net/dragonfreedom/article/details/68068335