JAVA根据命令行输入月份及年份打印日历

根据命令行输入月份及年份打印日历

格式及结果

C:\> java Cal 10 2019
October 2019
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

代码

import java.util.Calendar;
import java.util.Locale;

public class Cal {
    public static void main(String args[]){
        Calendar c=Calendar.getInstance();
        c.set(Integer.parseInt(args[1]),Integer.parseInt(args[0])-1,1);//从命令行获取月,年来设置日历实例
        System.out.println(c.getDisplayName(Calendar.MONTH,Calendar.LONG, Locale.CANADA)+" "+c.get(Calendar.YEAR));//打印月份和年份
        System.out.println("Su Mo Tu We Th Fr Sa");
        for(int i=1;i<c.get(Calendar.DAY_OF_WEEK);i++)//根据第一天的是星期几打印前面的空白
            System.out.print("   ");
        int month=c.get(Calendar.MONTH);//保存当前月份
        int counter=1;//天计数器
        while(c.get(Calendar.MONTH)==month){//月份改变就退出
            System.out.printf("%2d ",counter);//格式打印
            if(c.get(Calendar.DAY_OF_WEEK)==7)//星期六打印回车
                System.out.println();
            counter++;//计数器递增
            c.add(Calendar.DATE,1);//日历增长一天
        }
    }
}
相关文章
相关标签/搜索