java第十周封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题。

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

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭