/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 石丽君
* 完成日期:
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述: 封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题。
* 程序输出:
* 程序头部的注释结束
*/
Year类
package slj.com;
import java.util.*;
public class Year {
int year;
int feb;
public Year(int y){
year=(int)(Math.random()*1000)+y;
}
public void getfeb(){
if(year%4==0&&year%100!=0||year%400!=0){
feb=29;
}else
feb=28;
}
public void get_calendar(){
System.out.println(" "+year+"年2月份的日历");
System.out.println();
System.out.println(" 日 一 二 三 四 五 六");
Calendar 日历=Calendar.getInstance();
日历.set(year, 2,1);
int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
int d=0;
if(feb==29){
d=29;
}
else{
d=28;
}
String a[]=new String[星期几+d];
for(int i=0;i<星期几;i++){
a[i]="**";
}
for(int i=星期几,n=1;i<星期几+d;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]);
}
}
}
TestYear类
package slj.com;
public class TestYear {
public static void main(String[] args) {
// TODO Auto-generated method stub
Year year=new Year(2000);
year.getfeb();
year.get_calendar();
}
}
运行结果:
2344年2月份的日历
日 一 二 三 四 五 六
** ** ** 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