日历打印项目

简介

本项目运用了java基础语法, 计算从1990.1月到目标年月前一个的总天数计算出本月第一天星期几,然后设置空格,做到日历效果,其中还需要判断闰年平年,以便计算天数。

代码类

package com.softeem.lesson05.example;/*** java基础语法 数据类型、条件分支、循环语句、运算符 面向对象 类、对象、属性、方法、封装 计算从1990.1月到目标年月前一个的总天数* * @author Huaazai**/
// 日历
public class MyCalendar {private int year;private int month;// 构造器 、初始化目标年月public MyCalendar(int y, int m) {year = y;month = m;}// 判断是否闰年public boolean isLeapYear(int y) {if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) {return true;}return false;}// 计算从1900.1到目标年月前一月的总天数public int getTotalDaysFrom1900() {int days = 0;// 计算整年天数for (int i = 1900; i < year; i++) {days += isLeapYear(i) ? 366 : 365;}// 计算整月天数for (int i = 1; i < month; i++) {days += getDayOfMonth(i);}return days;}// 根据提供的月份获取当月的总天数private int getDayOfMonth(int i) {switch (i) {case 4:case 6:case 9:case 11:return 30;case 2:return isLeapYear(year) ? 29 : 28;default:return 31;}}// 打印日历public void print() {// 获取输出当前月信息时需要输出的空格数int spaces = getTotalDaysFrom1900() % 7;// 获取当前月份总天数int days = getDayOfMonth(month);// 打印输出System.out.println("==========SOFTEEM万年历【" + year + "】年【" + month + "】月==========");System.out.println("一\t二\t三\t四\t五\t六\t日");System.out.println("==================================================");// 初始化计数器,统计是否到达7的倍数int count=0;for (int i = 0; i < spaces; i++) {System.out.print("\t");count++;}//输出日期for(int i=1;i<=days;i++){System.out.print(i+"\t");count++;if(count%7==0){System.out.println();}}}
}

测试类

package com.softeem.lesson05.example;public class TestCalendar {public static void main(String[] args) {MyCalendar mc = new MyCalendar(2019, 7);mc.print();}
}

测试结果

java实现日历打印项目相关推荐

  1. java发布后功能不能用,急项目发布后java写的打印功能失效了-求解解决方法

    当前位置:我的异常网» J2EE » 急项目发布后java写的打印功能失效了-求解解决方法 急项目发布后java写的打印功能失效了-求解解决方法 www.myexceptions.net  网友分享于 ...

  2. Java日历打印_使用java 打印日历

    package hangshu; /* * 打印从1900年到2.year年的日历 */ import java.util.Scanner; public class Calender { publi ...

  3. 利用Java Calendar类打印日历

    利用Java Calendar类打印日历 说到日历,我们接触的就多了,每天都在和日历打交道,每年家里都会买日历.那么,大家知道如何用Java打印日历呢?在这里,我说一下如何用Calendar类打印日历 ...

  4. java 时区处理_如何使用Java处理日历时区?

    如何使用Java处理日历时区? 我有一个来自我的应用程序的Timestamp值. 用户可以在任何给定的本地TimeZone中. 由于此日期用于假定给定时间始终为GMT的WebService,因此我需要 ...

  5. 转Java转iOS-第一个项目总结(2):遇到问题和解决方案

    目录 1.UITableView滑动卡顿的优化 2.右滑手势返回 3.添加页面统计 4.debug版和release版 5.关于页面刷新 6.关于页面布局 7.推荐博客 遇到问题和解决方案 本文是Ja ...

  6. java做日历怎么对齐日期_如何使用Java日历从日期中减去X天?

    如何使用Java日历从日期中减去X天? 有人知道使用Java日历从日期中减去X天的简单方法吗? 我无法找到任何允许我直接从Java中的日期减去X天的函数. 有人能指出我正确的方向吗? 9个解决方案 2 ...

  7. Java转iOS-第一个项目总结(2)

    2019独角兽企业重金招聘Python工程师标准>>> ##遇到问题和解决方案     本文是Java转iOS-第一个项目总结(1)的内容补充,分析遇到的一些问题和解决方案,分享一些 ...

  8. Java利用jenkins做项目的自动化部署

    本地的jekins密码 2722e8ea873b4cf08884c22dff732bab 这篇文章主要介绍了Java利用jenkins做项目的自动化部署,小编觉得挺不错的,现在分享给大家,也给大家做个 ...

  9. lt;转gt;Java转iOS-第一个项目总结(2):遇到问题和解决方案

    目录 1.UITableView滑动卡顿的优化 2.右滑手势返回 3.添加页面统计 4.debug版和release版 5.关于页面刷新 6.关于页面布局 7.推荐博客 遇到问题和解决方案 本文是Ja ...

  10. 怎么用java做日历_怎么用java做日历?实例讲解

    Java是一种高级语言,可以用到很多领域中,这不,用java还可以做日历,那么怎么用java做日历?今天我们就给大家讲解一下用java做日历的方法,学会大家也可以做一个日历出来! 我们需要用到两个类: ...

最新文章

  1. FTP服务(vsftpd)配置
  2. 算法练习——ACM_1001_Exponentiation
  3. BCB中的RTTI机制
  4. 前端学习(2887):如何短时间内实现v-for createApp解决方案
  5. python模块学习之glob模块
  6. 算法导论-用于不相交集合的数据结构
  7. 今天,我们考大学是为了什么?
  8. 华为交换机关机方法_华为交换机常用的三种vlan划分方法~
  9. 操作系统学习笔记:文件管理
  10. 深入理解JVM虚拟机读书笔记——运行时数据区
  11. SpringBoot-引入jackson-dataformat-xml之后,本返回json的接口返回xml
  12. Python 代理验证程序(For 无忧代理) 多线程版
  13. 跨页面的多选功能实现
  14. Java小游戏,防止物体跑出四周边界的算法
  15. 笔记本电脑外接显示器
  16. AMR-WB 比特流---单通道多帧,120ms RTP打包
  17. linux 每日学一点《用tar来备份ubuntu系统》
  18. 基于Ubuntu系统,调用opencv在图片上显示数字和汉字
  19. Python实现回归树
  20. 牛顿法及牛顿下山法求零点

热门文章

  1. 金丹期前期:1.6、python语言-面向对象
  2. vue+element_ui纯前端下载csv文件
  3. Nginx 使用 ngx_http_mirror_module 模块 复制 http请求流量
  4. 淘宝奇门对接(淘宝订单加密改造)
  5. [置顶] 增强型的FLEA_Db_TableDataGateway,提供按字段名称操作的功能
  6. 华为s5700交换机IP地址与MAC地址绑定
  7. 挑战华为社招:字节跳动上千道精选面试题还不刷起来
  8. Pega How To系列之一:如何在页面上动态显示/隐藏内容 ----by Cheney Wang
  9. DAP数据加工流程梳理
  10. 安卓漫漫路之实现简单的弹幕.