//打印指定月份的日历信息
import java.util.*;
public class PrintfCalender {public static void main(String[] args) {/*本来想用二维数组做,后经发现实现不了* String [][] calender=new String[6][7]; String[]* firstline={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"}; calender[0]=firstline;* Scanner inScanner=new Scanner(System.in); //* System.out.println(Arrays.toString(calender));这种二维打印出来的都是引用* System.out.println(Arrays.deepToString(calender));*/Scanner inScanner=new Scanner(System.in);System.out.println("输入年:");int a=inScanner.nextInt();System.out.println("输入月:");int b=inScanner.nextInt();int PING[]= {31,28,31,30,31,30,31,31,30,31,30,31};int RUN[]={31,29,31,30,31,30,31,31,30,31,30,31};//sumall为总天数对7取余的值  sum为这个月前的这一年天数  RUNDAY为闰年个数int RUNDAY=0,sum=0,sumall=0;for(int i=1900;i<a;i++) {if ((i%4==0&&i%100!=0)||(i%400==0))RUNDAY++; }if (b>=2) {int only=1;//闰年时且月份大于1月时if ((a%4==0&&a%100!=0)||(a%400==0)) {for (int i = 0; i<b-1; i++) {sum+=RUN[i];}sumall=(366*RUNDAY+365*(a-1900-RUNDAY)+sum)%7;System.out.println("星期一 星期二 星期三 星期四 星期五 星期六 星期天");for (int i = 0; i <sumall; i++) {System.out.print("     ");}for (int i =sumall; i<7; i++) {System.out.print(String.format("%4d",only++));System.out.print(" ");}System.out.println();while(only<=RUN[b-1]) {for (int i = 0; i<5; i++) {for (int j =0; j<7&&only<=RUN[b-1]; j++) {System.out.print(String.format("%4d",only++));System.out.print(" ");}System.out.println();}}}//平年时且月份大于1月时else {System.out.println("星期一 星期二 星期三 星期四 星期五 星期六 星期天");for (int i = 0; i<b-1; i++) {sum+=PING[i];}sumall=(366*RUNDAY+365*(a-1900-RUNDAY)+sum)%7;for (int i = 0; i <sumall; i++) {System.out.print("     ");}for (int i =sumall; i<7; i++) {System.out.print(String.format("%4d",only++));System.out.print(" ");}System.out.println();while(only<=PING[b-1]) {for (int i = 0; i<5; i++) {for (int j =0; j<7&&only<=PING[b-1]; j++) {System.out.print(String.format("%4d",only++));System.out.print(" ");}System.out.println();}}}}//任意年份1月的日历else {System.out.println("星期一 星期二 星期三 星期四 星期五 星期六 星期天");int only=1;sumall=(366*RUNDAY+365*(a-1900-RUNDAY))%7;for (int i = 0; i <sumall; i++) {System.out.print("     ");}for (int i =sumall; i<7; i++) {System.out.print(String.format("%4d",only++));System.out.print(" ");}System.out.println();while(only<=RUN[b-1]) {for (int i = 0; i<5; i++) {for (int j =0; j<7&&only<=31; j++) {System.out.print(String.format("%4d",only++));System.out.print(" ");}System.out.println();}}}}}

输入2000年5月

输入2022年3月

打印任何年月的日历表(Java)相关推荐

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

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

  2. java怎么遍历优先级队列_打印优先级队列的内容[java]

    如何使print_queue在Java中正常工作?这是我自己的队列实现. 使用Iterator()可以正常工作,除了它会以随机顺序打印数字. package data_structures_java ...

  3. paip. 调试技术打印堆栈 uapi print stack java php python 总结.

    paip. 调试技术打印堆栈 uapi print stack java php python 总结. 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attil ...

  4. 前端小知识:控制台打印(console)- 模拟Java日志打印、表格形式打印美化输出对象、代码运行时间统计

    文章目录 6. 控制台打印(Console) 模拟Java日志打印格式 美化对象打印(表格形式打印输出) 日志等级输出(让其在控制台显示时有颜色提示) 代码运行时间统计打印输出   6. 控制台打印( ...

  5. icepdf java_icepdf 一款功能强大的PDF阅读、打印、注释工具,java实现,跨平台。 Develop 238万源代码下载- www.pudn.com...

    文件名称: icepdf下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 5553 KB 上传时间: 2013-10-10 下载次数: 1 详细说明:一款功能强大的 ...

  6. Java日历的制作(输入年月输出日历表)

    package com.unit2.test; import java.util.Scanner; /** 输入年月,将输出出日历表(从1900.1.1开始计算总天数)*/ public class ...

  7. 输入年月 输出日历表

    package com.javase; import java.util.Scanner;/*** 输入年月,将输出出日历表(从1900.1.1开始计算总天数)*/ public class Cale ...

  8. java打印文档_从Java应用程序打印文档?

    我正在尝试创建一个能够直接从UI打印文档的Java UI . 我能够创建和使用Javax ServiceUI,但是当从ServiceUI中选择"Print"并调用DocJob上的p ...

  9. java实现打印购物清单jframe_在java中打印2页的jframe

    我想打印一个包含大量文本字段和包含数据的按钮的jframe.我想通过单击打印jbutton打印此jframe.我试过这段代码. protected void print() { PrinterJob ...

最新文章

  1. 【机器学习基石笔记】八、噪声和错误
  2. 移动web注意事项 转
  3. redis 安装测试
  4. 从 vue3 和 vite 源码中,我学到了一行代码统一规范团队包管理器的神器
  5. 信息学奥赛一本通 1053:最大数输出 | OpenJudge NOI 1.4 15
  6. 照片浏览器_照片审核不通过!这可能是史上最亏的中级失败理由!
  7. ArcGIS 栅格函数在线调用详解
  8. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时11
  9. 博文视点云原生书单丨释放云原生技术红利
  10. IBM 亮相HIMSS 2010 亚太区博览会
  11. oeasy教您玩转linux010105详细手册man
  12. ROS导航调参经验总结(Teb算法)
  13. HDLBits—Exams/ece241 2014 q7a
  14. 如何细分目标客户群体,让邮件营销效果最大化
  15. 画江湖:李星云像换了一个人,他到底经历了什么?
  16. 国防科大计算机学院贾焰,博士群体竞风流——记国防科大教员队伍的变化
  17. unity 环境光、模型、材质发绿,绿的发光
  18. 离职央企中石化,转行互联网
  19. 单声道数据转双声道_单声道转双声道方法
  20. 【投资心经】一位资深操盘手的吐血总结

热门文章

  1. 184_刘发顺_Java核心编程
  2. 文件中的EOF是什么
  3. Android6.0以上应用在长时间在后台,因为内存不足导致系统回收内存,当再次启动应用出现Fragment重叠或者空白、异常解决方案(提供模拟内存不足导致系统回收内存的方案)。
  4. 常用AF对焦算法详解
  5. java流的试题_Java练习题 - Stream流
  6. intern string java_Java-String.intern的深入研究
  7. 图像处理算法python_图像处理——饱和度调整算法(python语言)
  8. 点击按钮实现页面切换中英文
  9. iPhone开发网站、论坛和博客
  10. 经典PID控制算法原理以及优化思路