/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 《功能是随机产生一个2000年后的年份,并输出该年2月的日历页——java第十周》
* 作 者: 刘江波
* 完成日期: 2012 年 11 月 1 日
* 版 本 号: v1.1
* 对任务及求解方法的描述部分
* 问题描述:
封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题。(必做)
* 程序头部的注释结束
*/
package com.java10; import java.util.Calendar; public final class CalendarDemo { /** * @param args */ public static void main(String[] args) { int in = (int) (Math.random() * 1000) + 2000;//生成2000年之后的年份 int mon = 29; if (in % 4 == 0 && in % 100 != 0 && in % 400 == 0) mon = 28; System.out.println(in + "年2月的日历项为:"); System.out.println(" 日 一 二 三 四 五 六 "); Calendar calendar = Calendar.getInstance();//初始化一个日历对象 calendar.set(in, 1, 1);//将日历翻到in年2月1号 //获取一号是星期几(1表示周日,7表示周六) int week = calendar.get(Calendar.DAY_OF_WEEK) - 1; String a[] = new String[week + mon]; for (int i = 0; i < week; i++) { a[i] = "**"; } for (int i = week, n = 1; i < week + mon; i++) { if (n <= 9) { a[i] = String.valueOf(n) + " "; } else { a[i] = String.valueOf(n); } n++; } for (int i = 0; i < a.length; i++) { if (i % 7 == 0) { System.out.println(""); } System.out.print(" " + a[i]); } } }