首页 > 编程 > Java > 正文

用java实现打印日历的方法

2019-11-06 08:54:38
字体:
来源:转载
供稿:网友

java实现打印日历的方法

* 打印2016年的日历方法*/public static void PRintCalendar(){for (int i = 1; i <= 12; i++) {System.out.println("2016年"+i+"月");System.out.println("-------------------------------------");System.out.println("日/t一/t二/t三/t四/t五/t六");int days = getDays(i);//得到第i月有多少天for(int j = 1 ; j <= days ; j++){int numDay = getNumDay(i, j);//得到i月j号是2016年第几天int week = getWek(numDay);//得到i月j号是周几if(j==1){//号数是一号的时候String temp = "";//补空位的字符串for (int k = 0; k < week; k++) {temp = temp+"/t";}if(week == 6){//如果1号是周六。输出以后就要换行System.out.println(temp+j);}else{//如果不是,就不需要了System.out.print(temp+j+"/t");}}else if(week == 6|| j == days){//不是一号但是是周六或者是该月的最后一天,输出以后就要换行System.out.println(j);}else{//就不是周六也不是一号也不是该月最后一天System.out.print(j+"/t");}}System.out.println("*****************************************");}}/*** 根据该天是这一年的第几天,得到这一天是周几* @param numDay 这一年的第几天* @return 周几*/public static int getWek(int numDay){switch(numDay%7){case 1:return 5;case 2:return 6;case 3:return 0;case 4:return 1;case 5:return 2;case 6:return 3;case 0:return 4;}return 0;}/*** 根据输入的几月几号,得到这一天是这一年的第几天* @param month 几月* @param date 几号* @return 第几天*///5 10public static int getNumDay(int month,int date){int numDay=0;//天数//将指定的月份前几个月的天数累加for (int i = 1; i < month; i++) {int days = getDays(i);//赋值调用,得到第i月的天数numDay = numDay + days;}//将指定的天数加起来numDay = numDay+date;return numDay;}/*** 根据输入的月份得到该月的天数* * @param month 输入的月份* @return 该月的天数*/public static int getDays(int month) {switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31;case 4:case 6:case 9:case 11:return 30;case 2:return 29;}return 0;}}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表