本文实例为大家分享了Java打印指定年月日历的具体代码,供大家参考,具体内容如下

日历如下:

程序如下:

//打印指定年月的日历

public class PrintCalendar {

public static void main(String[] args) {

int year=2013;

int month=12;

printMonth(year,month);

}

private static void printMonth(int year, int month) {//打印日历

printMonthTitle(year,month);

printMonthBody(year,month);

}

private static void printMonthTitle(int year, int month) {//打印日历标题

System.out.println(" "+getMonthName(month)+" "+year);

System.out.println("------------------------------");

System.out.println(" Sun Mon Tue Wed Thu Fri Sat");

}

private static String getMonthName(int month) {

String monthName=null;

switch(month){

case 1:monthName="January";break;

case 2:monthName="February";break;

case 3:monthName="March";break;

case 4:monthName="April";break;

case 5:monthName="May";break;

case 6:monthName="June";break;

case 7:monthName="July";break;

case 8:monthName="August";break;

case 9:monthName="September";break;

case 10:monthName="October";break;

case 11:monthName="November";break;

case 12:monthName="December";

}

return monthName;

}

public static boolean isLeapYear(int year){//判断是否为闰年

return year%400==0||(year%4==0&&year%100!=0);

}

public static int getNumberOfDaysInMonth(int year,int month){//获取对应月份天数

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)

return 31;

if(month==4||month==6||month==9||month==11)

return 30;

if(month==2)

return isLeapYear(year)?29:28;

return 0;

}

public static int getTotalNumberOfDays(int year,int month){//获取从1800年到当月的总天数

int total=0;

for(int i=1800;i

if(isLeapYear(i))

total=total+366;

else

total=total+365;

}

for(int i=1;i

total=total+getNumberOfDaysInMonth(year,i);

return total;

}

public static int getStartDay(int year,int month){//获得当月第一天是星期几

int startDay1800=3;

int totalNumberOfDays=getTotalNumberOfDays(year,month);

return (totalNumberOfDays+startDay1800)%7;

}

public static void printMonthBody(int year,int month){//打印日历体

int startDay=getStartDay(year,month);

int numberOfDaysInMonth=getNumberOfDaysInMonth(year,month);

for(int i=0;i

System.out.print(" ");

}

for(int i=1;i<=numberOfDaysInMonth;i++){

if(i<10)

System.out.print(" "+i);

else

System.out.print(" "+i);

if((i+startDay)%7==0)

System.out.println();

}

System.out.println();

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持谷谷点程序。

java 打印某年的日历_java打印指定年月的日历相关推荐

  1. java如何打印当前月份日历_java打印指定年月份的日历

    本文实例为大家分享了java打印指定年月份日历的具体代码,供大家参考,具体内容如下 做了一个小的日历打印,没有使用数组,所以不能对日期进行操作,用了单个for循环打印,对初学者来说应该好理解点 工具类 ...

  2. java 打印当月日历_Java打印日历表

    今天来吐槽一下Java的Calendar类的使用问题,反正我是弄了半天. 首先是,遇到一个问题,输入年份和月份,需要打印这个月的日历,网上有不少代码,但我用了几个感觉都不是很靠谱. 然后经过一番探索, ...

  3. java中输出日历_Java打印日历表

    今天来吐槽一下Java的Calendar类的使用问题,反正我是弄了半天. 首先是,遇到一个问题,输入年份和月份,需要打印这个月的日历,网上有不少代码,但我用了几个感觉都不是很靠谱. 然后经过一番探索, ...

  4. 用java怎么写三角形图案_Java 打印三角形图案

    以下是打印三角形图案的Java程序- 示例import java.util.*; public class Demo{ public static void main(String[] args){ ...

  5. java设置打印机默认纸张_java 打印设置打印A4 A5纸

    用java写了一个打印机,遇到打印纸张输出的问题,打印纸张有A4或者A5,当设置A5纸张的时候需要横向打印输出 下面贴出部分代码,用于解决当打印纸张为A5纸张时,文件横向打印 DocPrintJob ...

  6. java取上一个月_Java获取指定日期前一月(年)或后一月(年)

    /** * 获取指定月的前一月(年)或后一月(年) * @param dateStr * @param addYear * @param addMonth * @param addDate * @re ...

  7. java定时发送短信_java实现指定时间触发一个事件(比如定时发送短信) | 学步园...

    package com.huawei.dm.datasource.system; import java.util.Calendar; import java.util.Date; import ja ...

  8. java 年月份比较合适_Java实现指定年份月份的日历表

    输入指定的年份与月份,看这个月的日历表 package Xueying_Liu; import java.util.Scanner; public class rilibiao { public st ...

  9. java输入某年某个季度_Java获取某年某季度的第一天出错

    1.错误描述 Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given ...

最新文章

  1. 计算机网络管理员适用单位,计算机网络管理员软考理论复习题(附答案).(40页)-原创力文档...
  2. 文献学习(part51)--逼近理想点的主成分分析法及其应用
  3. eclipse和jdk的版本问题,比如printf()出错
  4. android:inputType参数类型说明
  5. 张艾迪(创始人):艾迪成长记
  6. pooleddb mysql_使用dbutils的PooledDB连接池,操作数据库
  7. R大 关于 G1 算法原理的解释说明
  8. Linux【操作系统】
  9. IOT [01] -- 物联网平台架构
  10. c# chart 各个属性_C#之Chart控件系列教程
  11. Java、JSP新华书店网上售书系统
  12. 电感滤波电路的工作原理
  13. 银行卡号编码规则及其应用
  14. 如何学习单片机——从51过渡到STM32
  15. 【Axure】Axure RP制作日期控件
  16. 亿道丨三防手机丨手持终端丨PDA丨优势与特点
  17. 微信小程序车辆登记+后台管理系统
  18. R语言中的表达式函数
  19. 微信小程序获取实时定位(记录)
  20. 一文教你玩LED点阵屏32*64/64*64----基于STM32

热门文章

  1. HI+AI|吾来助力惠氏CRM喜提「金耳唛杯」
  2. 读书笔记《计算广告》
  3. BZOJ 1218(二维前缀和)
  4. 15-关于GNN的局限性以及其解决办法
  5. 稻盛和夫系列之活法一
  6. 解决C++运算符重载时=和+(或-、*、/、后置自增自减)无法连用
  7. C#中TextBox实现换行
  8. BDD100K数据集的Jason文件转xml文件
  9. 如何计算机网络打印机驱动程序,电脑怎么安装打印机及打印机的驱动程序
  10. [转]安装体验开源车载系统Automotive Grade Linux(AGL)