Java基础之打印万年历

      今天刚开的博客,第一篇博文,一篇关于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 传递月份;

判断闰年设置独立函数;

总结:

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

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

代码实现部分:

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

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

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

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

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

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

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

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

时间: 2024-08-08 09:27:46

Java基础之打印万年历的相关文章

java实验之打印万年历

打印万年历(输入年份,月份,输出该月的日历,已知1900年1月1日是星期一),要求: (1)编写一个方法判断闰年: (2)编写一个方法判断某年某月有多少天: (3)编写一个方法计算某年某月前距离1900年1月1日的总天数:(4)编写一个输出某年某月日历的方法: (5)编写一个测试方法. package calendar;import java.util.Scanner;public class calendar { public static void main(String args[]){

算法,java代码实现打印万年历

万年历 以1900年1月1号星期一为时间原点 星期日 第一天 星期一 第二天 星期二 第三天 星期三 第四天 星期四 第五天 星期五 第六天 星期六 第七天 1.计算出当前日期距离原点的天数(例:2016/9/18) 2015到1900之间有多少个瑞年和平年-->count1 2016年一月到八月的总天数-->count2 本月的一号 count = count1+count2+1 2.计算出本月的一号是一周的第几天 k = count%7;(打印一号前面有多少空格) 3.计算出该月有多少天

Java基础教程——打印流

打印流 打印流可以把原本输出到控制台的信息输出到文件中.PrintStream是字节打印流(还有个对应的字符打印流是PrintWriter,这里不涉及) System类中有个变量: public final static PrintStream out = null; 赋值处: static { registerNatives(); } 打印流: public class PrintStream extends FilterOutputStream{...} public class Filte

第3篇-JAVA基础

第3篇-JAVA基础 每篇一句 :目标是给梦想一个期限,行动与坚持就是实现梦想的过程 初学心得: 遇到困难或问题,它不是休止符,而是引向你如何解决问题的标识 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-03-26| JAVA基础 Ⅱ] 上篇回顾 上篇文章中我们学习了JAVA底层的运行机制与深入剖析以及解释其中JAVA基础代码的含义 本篇文章将JAVA基础Ⅱ全面剖析解释,因为JAVA基础非常重要,务必要牢记知识点!!! 1.JAVA基础语法格式 JAVA采用unicode编码 1

JAVA基础——重新认识String字符串

深入剖析Java之String字符串 在程序开发中字符串无处不在,如用户登陆时输入的用户名.密码等使用的就是字符串. 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象有三种方法 String s1="我是字符串1"; String s2=new String();//创建一个空的字符串对象 String s3=new String("我是字符串2&q

第一部分:Java基础程序设计

Java(a)--Java 基础程序设计 Java 语言介绍(认识JAVA) JVM(Java虚拟机):JVM是可运行java代码的假想计算机,其保证了java可以进行跨平台地运行,亦即其可移植性,也符合sun公司提出的口号:Write Once, Run Anywhere.(一次编写,处处运行) 运行示意图如下:(由于图片无法加载,因此暂时不上传) Java技术的架构包括三个方面: J2EE(Java 2 Platform Enterprise Edition)企业版,是以企业为环境而开发应用

Java 基础:认识&理解关键字 native 实战篇

Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 泥瓦匠初次遇见 navicat 是在 java.lang.Object 源码中的一个hashCode方法: 1 public native int hashCode(); 为什么有个navicat呢?这是我所要学习的地方.所以今天泥瓦匠想要总结下navicat. 一.认识 native 即 JNI,Java Native Interface 凡是一种语言,都希望是纯.比如解决某一个方案都喜欢就单单这

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正

java基础知识回顾之java Thread类学习(八)--java多线程通信等待唤醒机制经典应用(生产者消费者)

 *java多线程--等待唤醒机制:经典的体现"生产者和消费者模型 *对于此模型,应该明确以下几点: *1.生产者仅仅在仓库未满的时候生产,仓库满了则停止生产. *2.消费者仅仅在有产品的时候才能消费,仓空则等待. *3.当消费者发现仓储没有产品可消费的时候,会唤醒等待生产者生产. *4.生产者在生产出可以消费的产品的时候,应该通知等待的消费者去消费. 下面先介绍个简单的生产者消费者例子:本例只适用于两个线程,一个线程生产,一个线程负责消费. 生产一个资源,就得消费一个资源. 代码如下: pub