/* (程序头部注释开始)
* 程序的版权和版本声明部分
* 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]);
}
}
}