Java基础之打印万年历的简单实现(案例)

问题:输入年,月,打印对应年月的日历。

示例:

问题分析:

1,首先1970年是Unix系统诞生的时间,1970年成为Unix的元年,1970年1月1号是星期四,现在大多的手机的日历功能只能显示到1970年1月1日这一天;

2,要想打印某年某月的日历,首先应该计算出这个月1号是星期几?

解决1号是星期几?

2.1:先计算出年天数,即截至这一年1月1号的天数,用for循环,从1970年开始,闰年+366,平年+365;

2.2:计算出月天数,即截至本月1号的天数,用for循环,从1月份开始,算出月天数;

2.1.1:用到闰年判断,用switch来判断返回月天数;

2.3:用年天数加月天数,求得本月1号距离1970年1月1号的总天数,用总天数来判断本月1号是星期几;

3,判断本月的总天数(用到switch语句);

4,打印日历;

代码实现:

一个函数实现打印PrintTitle();即实现固定的头部部分;

实现Print(参数1,参数2,参数3);即实现打印日历主题部分;

参数1(计算总天数):计算年天数,计算月天数;

参数2传递年份;

参数3传递月份;

判断闰年设置独立函数;

总结:

解决问题前一定要先分析问题,把大问题逐步分成小问题,理清逻辑,实现小问题的逻辑,整个问题就已经实现了百分之八十;

自下而上,逐步实现,函数独立调用;

代码实现部分:

-

-------------------

----

--------

--------

--------

--------

以上这篇Java基础之打印万年历的简单实现(案例)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2016-07-22

这篇文章应用java技术输入年份和月份获取该年月日历表,下面通过一段代码给大家做展示: 输入年份和月份,打印出这个月的日历表     1.1900年1月1日是星期一     2.计算输入的年份距离1900年有多少天再计算当年1月1日距这个月有多少天     3.总天数%7得出从星期几开始     注:计算机中的时间最小到1900年,此外UNIX系统认为1970年1月1日0点是时间纪元.     so,在本程序中不考了1900年以前的年份了.有兴趣的可以自己研究下. import java.uti

一,Java实现万年历的代码: package calendar; import java.util.Scanner;//日历项目 public class RiLi{ public static void main(String[] args){ Scanner A=new Scanner(System.in); System.out.println("请输入年份:"); int year=A.nextInt(); System.out.println("请输入月份:&qu

这里的万年历制作主要用到了Calendar类和GregorianCalendar类,我们先来回顾一下基础知识: 基础部分 一.Calendar类. 1,主要字段: YEAR(年份).MONTH(月份从0开始).DATE(一月的某天).HOUR(指示上午或下午的小时).HOUR_F_DAY(指示一天中的小时.).DAY_OF_WEEK (一个星期中的某天).DAY_OF_MONTH(一个月中的某天).DAY_OF_YEAR(一年中的某天).DAY_OF_WEEK _IN_MONTH(一个月中的第几

本文实例讲述了JAVA实现的简单万年历.分享给大家供大家参考,具体如下: import java.util.Scanner; public class PrintCalendar { public static void main(String[] args) { int years = 0; int month = 0; int days = 0; boolean isRun = false; //從控制台輸入年,月 Scanner input = new Scanner(System.in)

本文实例为大家分享了java邮件发送的具体代码,供大家参考,具体内容如下 我用的是maven项目,前台页码不多说,自己传邮箱地址进来就行. 只需要一个类实现,直接复制就可以 package com.mail; import java.util.Properties; import javax.mail.Address; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import

死锁定义 死锁是指两个或者多个线程被永久阻塞的一种局面,产生的前提是要有两个或两个以上的线程,并且来操作两个或者多个以上的共同资源:我的理解是用两个线程来举例,现有线程A和B同时操作两个共同资源a和b,A操作a的时候上锁LockA,继续执行的时候,A还需要LockB进行下面的操作,这个时候b资源在被B线程操作,刚好被上了锁LockB,假如此时线程B刚好释放了LockB则没有问题,但没有释放LockB锁的时候,线程A和B形成了对LockB锁资源的争夺,从而造成阻塞,形成死锁:具体其死锁代码如下:

目录结构: Data.xls数据: 后台页面: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //System.out.println(this.getServletContext().getRealPath ("/")); try{ Workbook wb = Workbook.getWorkbook(

前几天工作中一段业务代码需要一个变量每天从1开始递增.为此自己简单的封装了一个线程安全的计数器,可以让一个变量每天从1开始递增.当然了,如果项目在运行中发生重启,即便日期还是当天,还是会从1开始重新计数.所以把计数器的值存储在数据库中会更靠谱,不过这不影响这段代码的价值,现在贴出来,供有需要的人参考. package com.hikvision.cms.rvs.common.util; import java.text.SimpleDateFormat; import java.util.Arr

本文实例讲述了java编写的简单移动方块小游戏代码.分享给大家供大家参考,具体如下: 运行效果截图如下: 第一次用java编写图形化的界面,还是有些青涩..以后继续努力!!具体代码如下: //Little Box Game by AlexYui //Game.java By 1093710210@ HIT import javax.swing.*; import java.awt.event.*; import java.awt.geom.*; import java.awt.*; import

本文实例讲述了java实现的简单猜数字游戏代码.分享给大家供大家参考. 具体代码如下: 复制代码 代码如下: import java.util.InputMismatchException; import java.util.Scanner; public class Main {         public static void main(String[] args) {                 // 产生一个随机数                 int number = (in

Java 项目中常常回遇到发送邮件 Java 发送邮件有几种,今天先给大家介绍用 HtmlEmail 来发送邮件,我这里是用 Maven 来搭建的 HtmlEmail 可以抄带HTML 首先 需要导入jar 包 org.apache.commonscommons-email1.4

C#端 using System; using System.IO; using System.Security.Cryptography; namespace 计算文件的MD5值 { class MD5_Helper { /// /// 文件MD5校验 /// /// 文件绝对路径 /// MD5校验码&

java打印输出万年历_Java基础之打印万年历的简单实现(案例)相关推荐

  1. java电脑日历_Java中calendar对万年历的制作(同步电脑上的万年历日期格式)

    Java编程中calendar对万年历的制作教程 使用到的方法: 1.日期类型的转换: String----->Date String str = "2020年05月27日 20:28 ...

  2. java万年日历_Java日历查询程序(万年历)

    展开全部 花了半个小时写了一个望采纳给好评. import java.util.Scanner; public class PrintCalendar { /** Main method */ pub ...

  3. java input 数组_Java基础之:数组

    Java基础之:数组 一组相同数据类型的数据,我们即称之为 数组,数组也是一种数据类型. 需要注意的是 , 数组和String 字符串 相同,也是引用类型的. 数组的初始化 方式一:动态初始化 四种格 ...

  4. java 向父类_Java基础——面向对象(Object父类)

    原标题:Java基础--面向对象(Object父类) 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. Obj ...

  5. java 反射泛型方法_java基础之反射和泛型以及注解

    java基础之反射和泛型以及注解 泛型擦除 泛型擦除: 泛型只在编译时期有效,编译后的字节码文件中不存在泛型信息. 声明泛型集合,集合两端类型必须一致.类型也可以用包装类型,泛型的类型必须是引用类型, ...

  6. 在java中蓝色_Java基础

    cmd命令符 dir:显示当前文件夹下的子文件 cd..:后退上一级的文件 cd 子文件:跳到子文件 cd/:直接跳到根目录 盘符: :跳到相关盘 万能的Tab键:补齐 Java环境配置 1.官网下载 ...

  7. java static关键字_Java基础:static关键字作用总结

    前言 之前讲到final关键字的作用是每次面试的时候我必问求职者的两个问题之一,另外一个问题就是文本会写到的static.final和static一样,都是一个小问题可以看到一个人的基础是否扎实以及平 ...

  8. java猜拳程序_Java基础之:猜拳小程序

    /** 有个人 小范 设计他的成员变量. 成员方法, 可以电脑猜拳. 电脑每次都会随机生成 0, 1, 2 0 表示 石头 1 表示剪刀 2 表示 布 并要可以显示 小范 的输赢次数(清单), 假定 ...

  9. java自动换行输出_Java PrintStream.println打印自动换行

    首页 > 基础教程 > IO流 > OutputStream类 Java PrintStream.println打印自动换行 定义 public void println() pub ...

最新文章

  1. Python 安装管理器 pythonz
  2. Java前景如何?现在还能学Java吗?
  3. sql server服务器位置,SQL语句实现查询SQL Server服务器名称和IP地址
  4. 计算机网络知识学习(核心:网络协议)-- 应用层
  5. 分类器对未见过类别的识别问题
  6. 【Tools】常用PDF转Word工具
  7. 建模实训报告总结_建筑实训报告总结
  8. 一个牛人给Java小生们的建议
  9. **带I2C的LCD1602液晶显示51单片机程序**
  10. nodejs 安装环境配置以及解决‘node‘ 不是内部或外部命令,也不是可运行的程序或批处理文件
  11. Java基础 第一节 第一课
  12. 为 iPhone 制作 30s 以上的铃声
  13. CF1427E Xum
  14. spfa - 黑暗城堡 - 一本通 3.1 例 1
  15. 如何实现有效的项目进度控制
  16. 服务器属于三大系统,服务器三大操作系统
  17. 将列表(含字典)数据写入Excel
  18. dlink 备份文件_dlink 基本命令
  19. 章子怡对婚姻的憧憬:一生一世!——丹比奴
  20. ffmpeg.exe系统错误,出现找不到avutil-56.dll

热门文章

  1. 小班计算机游戏教案,游戏教案小班
  2. 织梦dedecms模板文件在哪
  3. pr2_moveit包解析
  4. Linux下的mount命令详解
  5. mysql 查询不返回结果_MySQL查询不返回所有记录
  6. 7-1 真实的背包故事 (17 分)
  7. 电子杂志缺乏用户粘性 资本纷纷撤离战场
  8. 如何将WMA文件转换为MP3
  9. 机械键盘测试——《万历十五年》2
  10. 基金-货币基金债券基金