package com.sxt.test;import java.util.Scanner;
//使用基础的java代码输出日历
public class CalendarTest1 {public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("请输入年份");int year = s.nextInt();System.out.println("请输入一个月份");int month = s.nextInt();printCalendar(year, month);}/** 打印日历*/private static void printCalendar(int year, int month) {// 打印表头System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");// 打印数字// 1,空格的数量int kongGe = getKongGeCount(year, month);// 输出空格for (int i = 1; i <= kongGe; i++) {System.out.print("\t");}// 解决当1~7日全为上一月的天数时出现的时间跳转问题if (kongGe == 7) {System.out.println();}// 输出数字for (int i = 1; i <= getDaysOfMonth(year, month); i++) {System.out.print(i + "\t");if ((i + kongGe) % 7 == 0) {System.out.println();}}}// 获取空格的数量private static int getKongGeCount(int year, int month) {int count = getDaysOfAll(year, month) % 7 + 1;return count;}// 所有的天数private static int getDaysOfAll(int year, int month) {// 整年的天数 + 整月的天数int sum = 0;// 1,整年的天数for (int i = 1900; i < year; i++) {sum += isLoopYear(i) ? 366 : 365;}// 2,整月的天数for (int i = 1; i < month; i++) {sum += getDaysOfMonth(year, i);}return sum;}/*** 获取整月的天数* * @param year* @param month* @return*/private static int getDaysOfMonth(int year, int month) {int day = 0;switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:day = 31;break;case 4:case 6:case 9:case 11:day = 30;break;case 2:day = isLoopYear(year) ? 29 : 28;break;}return day;}// 判断是否是闰年private static boolean isLoopYear(int year) {if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {return true;} else {return false;}}
}

java代码输出万年历相关推荐

  1. java打印输出万年历_用Java编程输出万年历的功能实现

    1.功能实现 输入1查看上个月日历 输入2查看下个月日历 输入3查看去年本月日历 输入4查看明年本月日历 输入5查看指定月份日历 2.代码所导入的包 import java.text.ParseExc ...

  2. 万年历 java程序_用Java编程输出万年历的功能实现

    1.功能实现 输入1查看上个月日历 输入2查看下个月日历 输入3查看去年本月日历 输入4查看明年本月日历 输入5查看指定月份日历 2.代码所导入的包 import java.text.ParseExc ...

  3. Java代码输出到txt文件(申请专利贴源码的必备利器)

    最近公司在申请专利,编写不少文档,项目的代码量实在是过于庞大.如果一个一个的复制粘贴虽然能够完成,但是对于程序员而言实在没有这个必要.shell或者python就能解决这个问题.由于我个人对于shel ...

  4. 用java代码输出乘法口诀表

    用java代码输出乘法口诀表 当我们手里拿到一道题,首先就是先抽象出我们要解决的实质问题 ​ 首先观察乘法口诀表的规律,剥离要素 每一行特征: ​ 乘号左边的数依次递加,右边的数不变 每一列特征: ​ ...

  5. Java代码输出心形图案

    初学编程的小伙伴肯定有过这样一个想法,就是我能不能利用代码来输出一个特定的图案呢?比如一个爱心?那必然是可以的,代码能实现的功能很多,这只是其中的一小小用法.以下是思路与代码. 方法一 暴力解法: 我 ...

  6. java写万年历_用java代码写万年历

    大家好,今天给大家分享万年历的编写.可能有人觉得这很难,假如输入不同的年和月,那么显示的月份天数不一样,然后还有平年闰年判断,又要算出不同年月前面的空格是多少,也要算出与日期对应的星期.前面这些问题看 ...

  7. java万年历表怎么输出6_用Java编程输出万年历的功能实现

    1.功能实现 输入1查看上个月日历 输入2查看下个月日历 输入3查看去年本月日历 输入4查看明年本月日历 输入5查看指定月份日历 2.代码所导入的包 import java.text.ParseExc ...

  8. java代码输出一个大的比心手势图形

    你可以使用字符画来输出一个大的比心手势图形. 下面是一个简单的代码实现: public class Heart {public static void main(String[] args) {Sys ...

  9. java代码实现万年历

    输入年份,如2014,打印出该年万年历,以及标识出当天日期.类似于linux下的cal -y结果. public class Calendar {public static boolean isLea ...

最新文章

  1. 属实逼真,决策树可视化!
  2. 文献记录(part88)--Robust clustering using a kNN mode seeking ensemble
  3. 关于全局ID,雪花(snowflake)算法的说明
  4. (接口)银联证书上传被修改的问题和读取证书的绝对路径问题
  5. Alpha冲刺第二天
  6. 命令行的形式运行php
  7. java 实现类转接口_JAVA 基础 / 第二十九课:接口与继承 / JAVA中的对象转型
  8. 《Hadoop海量数据处理:技术详解与项目实战(第2版)》一2.8 小结
  9. 基础管理薄弱服装企业如何实施ERP
  10. 软件测试 - V模型、W模型、H模型、X模型
  11. 归并排序时间复杂度为什么是NlgN
  12. python 拼音输入法_用Python从0开始实现一个中文拼音输入法
  13. 手机OTG 我的世界_关于旧安卓手机改用为门禁探头、监控摄像头方案
  14. 位掩码(BitMask)——介绍与使用
  15. 电感的饱和电流 均方值电流 额定电流的认识
  16. 计算机网络知识自问自答,2020计算机网络学习心得体会.doc
  17. 手机链游撼动腾讯王者荣耀?Nova Battles更具潜力
  18. 携程集团招股说明书-港股
  19. CT值及CT常用窗宽、窗位
  20. 洛谷P3964松鼠聚会

热门文章

  1. 【报告分享】中国消费者洞察报告-领航前所未有(附下载)
  2. java构造方法:有参构造方法和无参构造方法区别
  3. prompt tuning
  4. matlab下标可变,Matlab中下标,斜体,及希腊字母的使用方法
  5. PyTorch开发者福音, OpenVINO整合PyTorch实现推理加速!
  6. SVN_Windows安装Subversion(svn 命令行工具)教程
  7. 操作系统学习——分时操作系统
  8. MemFire教程|PostgreSQL RLS介绍
  9. 在线tcp测试,tcp测试
  10. SVN远程主机强迫关闭了一个现有的连接解决办法