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基础之打印万年历的简单实现(案例)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Java 实现万年历总结
一,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
-
java万年历,获取该年月日历表
这篇文章应用java技术输入年份和月份获取该年月日历表,下面通过一段代码给大家做展示: 输入年份和月份,打印出这个月的日历表 1.1900年1月1日是星期一 2.计算输入的年份距离1900年有多少天再计算当年1月1日距这个月有多少天 3.总天数%7得出从星期几开始 注:计算机中的时间最小到1900年,此外UNIX系统认为1970年1月1日0点是时间纪元. so,在本程序中不考了1900年以前的年份了.有兴趣的可以自己研究下. import java.uti
-
Java编写多功能万年历程序的实例分享
这里的万年历制作主要用到了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实现的简单万年历代码
本文实例讲述了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基础之打印万年历的简单实现(案例)
问题:输入年,月,打印对应年月的日历. 示例: 问题分析: 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月份开始,算出月
-
Java 基础 byte[]与各种数据类型互相转换的简单示例
Java 基础 byte[]与各种数据类型互相转换的简单示例 这里对byte[]类型对long,int,double,float,short,cahr,object,string类型相互转换的实例, 在socket开发过程中,通常需要将一些具体的值(这些值可能是各种Java类型)转化为byte[]类型,为此我总结了如下这个示例,贴出来,以便经常翻看: public class TestCase { /** * short到字节数组的转换. */ public static byte[] shor
-
Java基础之练习打印三角形
一.打印直角三角形 这个循环控制打印十行空格 for (int x = 1; x <= 10; x++) {//因为要打印一个十行的直角三角形,这行表示先打印十行空格 System.out.println(); } 这个循环控制打印 星号 for (int y = 1; y <= x; y++) {//这个循环控制打印 System.out.print("*"); } 嵌套for循环 package com.kuang.struct; public class TestDe
-
Java基础之Thymeleaf的简单使用
Java代码 package com.zzx.controller; import com.zzx.model.User; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import java.util.Arrays; /** * @date:
-
Java基础之简单介绍一下Maven
一.Maven是什么? Maven是一个跨平台的项目管理工具.作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理,是一个自动化构建工具.maven是Apache的顶级项目,解释为"专家,内行",它是一个项目管理的工具,maven自身是纯java开发的( Theresult is a tool that can now be used for building and managing any Java-basedproject)
-
Java基础之简单的图片处理
一.前言 先使用一个模板图片,在图片上添加图片或者文字都可以. 二.依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.18</version> <optional>true</optional> </dependency> 三.封装数据类 i
-
java 基础知识之网络通信(TCP通信、UDP通信、多播以及NIO)总结
java 基础知识之网路通信总结 在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信.UDP通信.多播以及NIO. TCP连接 TCP的基础是Socket,在TCP连接中,我们会使用ServerSocket和Socket,当客户端和服务器建立连接以后,剩下的基本就是对I/O的控制了. 我们先来看一个简单的TCP通信,它分为客户端和服务器端. 客户端代码如下: 简单的TCP客户端 import java.net.*; import java.io.*; public class
-
python基础练习之几个简单的游戏
文档介绍 利用python写"猜数字","猜词语","谁是卧底"这三个游戏,从而快速掌握python编程的入门知识,包括python语法/列表/元组/字典/流程控制/库函数等等. 环境参数 linux平台,python3.4.需要在linux中把python3.4编译一下,这样编写python程序时保存为.py格式的文件并添加执行权限再终端运行即可(原理跟shell脚本相同),非常方便. ps:贴出来的python程序代码在windows中也兼容
-
Java基础之代码死循环详解
一.前言 代码死循环这个话题,个人觉得还是挺有趣的.因为只要是开发人员,必定会踩过这个坑.如果真的没踩过,只能说明你代码写少了,或者是真正的大神. 尽管很多时候,我们在极力避免这类问题的发生,但很多时候,死循环却悄咪咪的来了,坑你于无形之中.我敢保证,如果你读完这篇文章,一定会对代码死循环有一些新的认识,学到一些非常实用的经验,少走一些弯路. 二.死循环的危害 我们先来一起了解一下,代码死循环到底有哪些危害? 程序进入假死状态, 当某个请求导致的死循环,该请求将会在很大的一段时间内,都无法获取接
-
Java基础之文件概述
一.基本概念和常识 下面,我们先介绍一些基本概念和常识,包括二进制思维.文件类型.文本文件的编码.文件系统和文件读写等. 1.1 二进制思维 为了透彻理解文件,我们首先要有一个二进制思维. 所有文件, 不论是可执行文件.图片文件.视频文件.Word文件.压缩文件.txt 文件,都没什么可神秘的,它们都是以0和1的二进制形式保存的.我们 所看到的图片.视频.文本,都是应用程序对这些二进制的解析结果. 作为程序员,我们应该有一个编辑器,能查看文件的二进制形式, 比如UltraEdit,它支持以十六进
随机推荐
- Perl中怎样从数组中删除某个值?
- 自己动手打造ajax图片上传(网上没有的)
- 使用SQL Server判断文件是否存在后再删除(详解)
- 用vbs实现的强制杀进程的脚本
- 在ASP.NET中,设置Session的过期时间的方法
- php ios推送(代码)
- Mysql闪退问题图文解决办法
- MySql存储过程异常处理示例代码分享
- Android实现系统重新启动的功能
- javascript实现input file上传图片预览效果
- 基于Jquery制作图片文字排版预览效果附源码下载
- jQuery Form表单取值的方法
- django 创建过滤器的实例详解
- JavaScript从数组中删除指定值元素的方法
- C# 7.0 新特性1之基于Tuple的“多”返回值方法
- 巧妙的化解DDoS分布式拒绝服务攻击
- 通过ibatis解决sql注入问题
- 详解RequireJS按需加载样式文件
- PHP正确解析UTF-8字符串技巧应用
- 免费空间 免费提供的原因