Java中Calendar(日历)相关API举例,实现功能:输入一个年份和月份打印出这个月的日历。
1 package calendarPrint; 2 3 import java.util.Calendar; 4 import java.util.Scanner; 5 6 public class CalendarPrint { 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 // TODO Auto-generated method stub 12 Calendar s = Calendar.getInstance(); 13 Scanner sc = new Scanner(System.in); 14 15 System.out.println("请输入年份"); 16 int y = sc.nextInt(); 17 //设置当前年份 18 s.set(Calendar.YEAR, y); 19 20 System.out.println("请输入月份"); 21 int m = sc.nextInt(); 22 //设置当前年份,月份从0开始所以要-1 23 s.set(Calendar.MONTH, m - 1); 24 25 int temp = s.getActualMaximum(Calendar.DATE); 26 s.set(Calendar.DATE, 1); 27 //获得当前月份的1号是从星期几开始,星期是从0计算所以-1 28 int startWeek = s.get(Calendar.DAY_OF_WEEK)-1; 29 30 //格式化输出一个日历 31 System.out.println("日 " + "一 " + "二 " + "三 " + "四 " + "五 " 32 + "六 "); 33 for (int j = 0; j < startWeek ; j++) { 34 System.out.print(" "); 35 } 36 for (int i = 1 ; i <= temp; i++) { 37 System.out.print(i + " "); 38 if ((i+startWeek) % 7 == 0) { 39 System.out.println(); 40 } 41 } 42 } 43 44 }
这里的难点,可能是月份从0开始,或则是在输出日历时的格式的输出^_^。
加油!!!