import java.util.Calendar;
public class cal {private int year;private int month;public cal(){}public cal(int year ,int month){this.year = year;this.month = month;}public int WhatWeekDay(){//创建Calendar对象Calendar calendar = Calendar.getInstance();//设置calendar对象的年calendar.set(Calendar.YEAR,this.year);//设置calendar对象的月份 ,因为此处的月份是从零开始(0-11表示1-12月),所以我们输入的数值要减去1才是正确的月份//(比如输入8月,接收数值 8 ,但是因为Calendar的特殊月份计数, 8 代表的是"9月",所以减去 1 为 7 ,才是正确的 8月)calendar.set(Calendar.MONTH,this.month-1);//设置日期为打印月的第一天calendar.set(Calendar.DATE, 1);//用get方法获取这一天是周几int whatDay = calendar.get(Calendar.DAY_OF_WEEK);//Calendar从周日开始到周六结束,用1-7表示,这里为了方便,把其数值减 1 ,得到周日到周六为 0 - 6 只需特殊处理周日即可return whatDay-1; //得出这个月的第一天是周几}public int WhatDayOfMonth(){//实例化Calendar对象Calendar calendar = Calendar.getInstance();//设置为打印年打印月的下一个月(参考WhatWeekDay方法中的月份注释 ,这里没减1)第一天.//例:输入 2018 2 其实为2018年的3月calendar.set(this.year,this.month,1);//使上面的日期退一天 得到打印月calendar.add(Calendar.DATE,-1);//获取日的数值int monthDay =calendar.get(Calendar.DATE);return monthDay;}public int getYear() {return year;}public void setYear(int year) {this.year = year;}public int getMouth() {return month;}public void setMouth(int mouth) {this.month = mouth;}public static void main(String[] args) {int year=Integer.parseInt(args[1]);int month =Integer.parseInt(args[0]);//创建日历工具类对象,并用带参构造初始化cal dt = new cal(year,month);//实例化打印工具类对象PrintDayTool pd = new PrintDayTool();String[] s=new String[] {"January","February","March","April","May","June","July","August","September","October","November","December"  };//建立12个月份的string数组System.out.println(s[month-1]+"   "+year);//打印英文月份和数字年份//调用打印工具类对象的printDay方法,传入年和月份pd.printDay(dt.WhatDayOfMonth(),dt.WhatWeekDay());}}
public class PrintDayTool {public void printDay(int daysOfMouth,int whatDay){int count = 0; //定制计数标记System.out.print("Su\tMo\tTu\tWe\tTh\tFr\tSa");//j从1开始 到这个月的天数结束for(int j = 1 ; j <= daysOfMouth ; j ++){count++;//每打印七天就换行if(count % 7 == 1){System.out.print("\n");}//如果这月的第一天是周日就把它置为0 不打印额外制表符if(whatDay==7)whatDay = 0;//这个月的第一天是周几就额外打印几次制表符while (whatDay>0){System.out.print("\t");whatDay--;count++;}//打印天数System.out.print(j+"\t");}//打印完日历换行System.out.println("\n");}}

Java 打印某年某月的月日历相关推荐

  1. java 打印某年的日历_java打印指定年月的日历

    本文实例为大家分享了Java打印指定年月日历的具体代码,供大家参考,具体内容如下 日历如下: 程序如下: //打印指定年月的日历 public class PrintCalendar { public ...

  2. abcdefg顺序Java打印,全国2012年10月自考JAVA语言程序设计(一)试题及答案

    全国2012年10月自考Java语言程序设计(一)试题 课程代码:04747 选择题部分 一.单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的, ...

  3. java日历打印出的格式不对_Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导...

    Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导 我看了一下日历,发现你打出来的其实是九月份而不是八月份,那么我猜在showPrint这里的第二个参数是从0开始的,即0~11 ...

  4. Java实验项目二——打印某年某月日历

    Program:打印万年历(输入年份,月份,输出该月的日历,已知1900年1月1日是星期一), 要 求: (1)编写一个方法判断闰年: (2)编写一个方法判断某年某月有多少天: (3)编写一个方法计算 ...

  5. java 计算两个日期相差月数_Java简单计算两个日期月数差的方法

    本文实例讲述了Java简单计算两个日期月数差的方法.分享给大家供大家参考,具体如下: /** * 获取两个日期相差的月数 * @param d1 较大的日期 * @param d2 较小的日期 * @ ...

  6. java获取当前日期 前后 几个月的 日期期间 往前 2个月 往后 2个月

    java获取当前日期 前后 几个月的 日期期间 需要原因 返回的String 格式 private Map<String,String> getDuringDate(){SimpleDat ...

  7. Java比较时间相差几个月

    Java比较时间相差几个月 本来给自己留个底来着,被大佬看到后,教育了,为了不继续误导大家,更新一下,嘿嘿 /*** 比较两个时间相差几月*/public static void main(Strin ...

  8. windows10新版java环境配置2022年4月21H1版本

    windows10新版java环境配置2022年4月21H1版本 ` 第一章 下载并安装java 这里写目录标题 windows10新版java环境配置2022年4月21H1版本 一.下载并安装jav ...

  9. 在成都Java培训班学习五个多月有用吗?

    不知道"有用"的标准是什么,是能入行上岗工作,还是想只通过几个月的培训一跃成为资深开发攻城狮? 这里不得不给大家泼瓢冷水,短期培训能让你对口上岗工作就很不错了:想要成为技术大佬?大 ...

  10. 用java语言实现2020年1月1号到2022年7月3号之间的间隔天数

    用java语言实现2020年1月1号到2022年7月3号之间的间隔天数 1.思路 1.算出2020年1月1号到2021年12月31号之间的间隔天数sumYear 2.算出2022年1月1号到2022年 ...

最新文章

  1. 【Android】动态更新Icon
  2. C4C微信集成 - agent在C4C系统回复,微信用户在微信端直接收到
  3. mate 树莓派4b安装ubuntu_树莓派4B安装安装Ubuntu Mate 16.04
  4. mysql 添加用户_mysql创建用户与授权
  5. ipmsg飞鸽传书系统即时通讯
  6. go json数据出现unicode_Golang处理JSON(一) 序列化
  7. CRFsuite 学习: CoNLL 2000 shared task
  8. 能力风暴智能机器人编程实例与vjc4.2的相关问题
  9. IDL处理葵花8Himawari-8标准HSD数据——制作大气校正数据集(太阳角度数据集)
  10. win10 干净卸载anaconda
  11. oracle配置ipv6_配置 IPv6 路由器
  12. C/C++和Lua混合编程
  13. 针式PKM初级应用:针式PKM更适合管理什么样的文件
  14. 嵌入式学习笔记7——LCD1602液晶屏
  15. 三年磨一剑——微信OCR图片文字提取
  16. 天耀18期 -09.数组-排序【作业】.doc
  17. php蓝奏云网盘源码,蓝奏云网盘打开目录/上传/下载源码
  18. 【Python】python的加、减、乘、除、取整、取余计算
  19. Autolayout_自定义View
  20. dvi转vga接口图及相关接法

热门文章

  1. 三菱触摸屏通讯错误_s7-200和三菱触摸屏通讯的问题
  2. 小型游戏《笑傲江湖之精忠报国》全过程_01
  3. 最新红旗linux系统,国产系统红旗Linux下载
  4. python 下载百度文库_百度文库随便下载,解除限制
  5. 用Retinaface_pytorch项目检测人脸+ Python 3 剪切人脸图片并保存
  6. Visual Studio - 安装VAX
  7. 大牛解密阿里云直播技术平台
  8. P问题,NP问题,NP完全问题,NP难问题
  9. 关于window10系统找不到Realtek高清晰音频管理器解决方法
  10. 实战演习(九)——用python分析科比生涯数据