Java上机 第十周 任务1 打印日历

来源:互联网 发布:网络十大科幻小说 编辑:程序博客网 时间:2024/05/29 03:23
/* * 程序头部注释开始   * 程序的版权和版本声明部分   * Copyright (c) 2011, 烟台大学计算机学院学生   * All rights reserved.   * 文件名称:打印日历                           * 作    者:薛广晨                               * 完成日期:2012  年11 月  01  日   * 版 本号:x1.0               * 对任务及求解方法的描述部分   * 输入描述:  * 问题描述:封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题* 程序输出:   * 程序头部的注释结束 */package xue;import java.util.*;public class Year {public void myCalendar(){int year = (int)(Math.random()* 1000)+2000;Calendar calendar = Calendar.getInstance();//calendar.set(year, 2, 1);int day = 28;boolean isLeap = judge(year);int week = calendar.get(calendar.DAY_OF_WEEK) - 1;System.out.println(year + "年2月的日历页:");System.out.println("日   一   二   三   四   五   六");if(isLeap)day = 29;String a[] = new String[week + day];for(int x = 0; x < week; x++){a[x] = "  ";}for(int i = week, n = 1; i < a.length; i++){if(n <= 9)a[i] = String.valueOf(n) + " ";elsea[i] = String.valueOf(n);n++;}for(int j = 0; j < a.length; j++){if(j % 7 == 0){System.out.println();}System.out.print(" " + a[j]);}}public static boolean judge(int year)  {  boolean yearleap = (year % 400 == 0) || (year % 4 == 0) && (year % 100 != 0);//采用布尔数据计算判断是否能整除        return yearleap;  }}

测试类:


 

package xue;public class Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubYear year = new Year();year.myCalendar();}}


运行结果:

原创粉丝点击