Java上机 第十周 任务1 打印日历
/* * 程序头部注释开始 * 程序的版权和版本声明部分 * 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();}}
运行结果:
