* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* 作 者: 刘镇
* 完成日期: 2012 年 11 月 04 日
* 版 本 号: 2.010
* 对任务及求解方法的描述部分
* 问题描述:封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题
*代码部分:
MyYear.java:
package lz_10w;
import java.util.Calendar;
public class MyYear {
Calendar calendar;
int year;
int feb;
public MyYear(int y)
{
calendar = Calendar.getInstance();
year = (int)(Math.random()*1000)+y;
feb = 28;
}
public void getFeb()
{
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
feb = 29;
}
}
public void printFeb()
{
System.out.println(" " + year + "年的二月份: ");
System.out.println("MON TUE WED THU FIR SAT SUN");
calendar.set(year, 2, 1);
int weekday = calendar.get(Calendar.DAY_OF_WEEK) - 1;
if(weekday == 0)
{
weekday = 7;
}
for(int i = 1; i < weekday; i++)
{
System.out.print(" ");
}
for(int i = 1; i <= feb; i++)
{
System.out.print(i + " ");
if((i + weekday - 1) % 7 == 0)
{
System.out.println();
}
}
}
}
TestYear.java:
package lz_10w;
public class TestYear {
/**
* @param args
*/
public static void main(String[] args) {
MyYear y = new MyYear(2000);
y.getFeb();
y.printFeb();
}
}
测试结果:
心得经验:
开始做的时候把它想得简单了,没考虑星期的问题,所以后来只能用自己的方法补救一下,补的还可以;与Java课本中的有关代码不太一样,总结一下还是各有不同吧。