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);//日曆增長一天
        }
    }
}
相關文章
相關標籤/搜索