一、日历的设计与实现

首先要将用户输入的日期转换成字符串格式,再将字符串转换成指定的日期格式,最后把日期格式变成日历。然后就是要写好每个月有几天,是闰年还是平年,每个月的第一天是星期几,一个日历中有几行几列等等。程序中还实现了当前你查询的日期前面还多了一个“#”。

二、使用步骤

package Java课程设计;import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;public class MyCalendar {public static void main(String[] args) {myCalendar();}public static void myCalendar() {int maxDay = 0;   int firstDay = 0;  int currentDay = 0;        System.out.println("请输入一个日期:格式为:2030-03-10");   Scanner scanner = new Scanner(System.in);String str = scanner.nextLine(); //键盘输入日期格式的字符串try {DateFormat format = new SimpleDateFormat("yyyy-MM-dd");Date date = format.parse(str);    //将字符串转化为指定的日期格式,把String转换成Date对象Calendar calendar = new GregorianCalendar();calendar.setTime(date);   //将日期转化为日历maxDay = calendar.getActualMaximum(Calendar.DATE);   //当前日期中当前月对应的最大天数currentDay = calendar.get(Calendar.DATE); //当前日期中的当前天calendar.set(Calendar.DATE, 1); // 设置为当前月的第一天firstDay = calendar.get(Calendar.DAY_OF_WEEK); //当前日期中当前月第一天对应的星期数} catch (ParseException e) {e.printStackTrace();}System.out.println("日\t一\t二\t三\t四\t五\t六\n");for (int j = 1; j < firstDay; j++) {System.out.print("\t");}for (int i = 1; i <= maxDay; i++) {if (i == currentDay) {System.out.print("#");}System.out.print(i + "\t");if ((i - (8 - firstDay)) % 7 == 0) {System.out.println("\n");}}}
}

运行结果

三、总结

要想编写好一个简单日历的程序,就要想好每步该怎么写,如果这样写有什么漏洞,有什么地方需要改进的。每个月的第一天是星期几是这部分最难的地方,需要想好思路。总之,逻辑思维是最关键的要素。

四、不足

该程序没有判断用户输入的日期是否正确,应该规定月份小于等于12,每月的天数不能超过本月天数。(有哪位好心人帮我改进一下,感激不尽!!!)

Java课程设计——日历的设计与实现相关推荐

  1. Java课程设计-日历记事本

    #Java课程设计-日历记事本 ##日历记事本 要求:带有日程提醒功能的日历(数据库可采用Access.SQL Server或者MySQL). (1)显示信息:用户可以向前翻页查询前一个月的日期,也可 ...

  2. 日历记事本java_日历记事本-JAVA课程设计..

    沈 阳 大 学 日历记事本 1. 课程设计目的 通过此次课程设计,巩固所学 Java 语言基本知识,增进 Java 语言编辑基本功,掌 握 JDK . Editplus . Eclipse . JCr ...

  3. java课程设计日历记事本_《Java程序设计》课程设计日历记事本.doc

    <Java程序设计>课程设计日历记事本 PAGE PAGE 2 本科生课程设计 课程名称 Java程序设计课程设计 课程编号 j1620011 题目 日历记事本 学号 2008116222 ...

  4. java课程设计日历_java课程设计日历记事本赵锐.doc

    java课程设计日历记事本赵锐.doc 2本科生课程设计课程名称JAVA程序设计课程设计题目日历记事本学号201440930252学生姓名赵锐所在专业2014计算机学院所在班级信工2班成绩课程设计时间 ...

  5. java课程设计日历,java课程设计--日历

    java课程设计--日历 0 java 语言课程设计 学 院 指导教师 学 号 姓 名 班 级 1 目录 一.课程题目2 二.需求分析2 三.概要设计2 四.详细设计2 五.测试数据及运行结果8 六. ...

  6. java课程设计数字日历,java课程设计简单日历.doc

    java课程设计简单日历.doc java课程设计报告题目:JAVA简易时间日历程序学生姓名:董兆军学号:2010314120专业班级:信101指导教师:李红强Java课程设计报告信101董兆军201 ...

  7. 万年历java课程设计报告_java《万年历系统》课程设计报告附源码.doc

    java<万年历系统>课程设计报告附源码.doc 学号<面向对象程序设计>课程设计报告题目:万年历系统专业:计算机科学与技术班级:姓名:学号:指导教师:成绩:计算机与信息工程系 ...

  8. JAVA课程设计——“小羊吃蓝莓”小游戏

    JAVA课程设计--"小羊吃蓝莓"小游戏 1. 团队课程设计博客链接 http://www.cnblogs.com/HXY071/p/7061216.html 2. 个人负责模块或 ...

  9. Java课程设计基于ssm的微信小程序

    Java课程设计, 基于ssm的微信小程序 后端涉及技术spring.mysql等 效果查看请扫一扫 喜欢可以点赞哟

  10. ATM柜员机JAVA课程设计_ATM柜员机学年论文设计(Java课程设计)

    内容简介: ATM柜员机学年论文设计(Java课程设计),共23页,4599字,附源程序. 一. 程序介绍3 二. 开发环境搭建3 1. MyEclipse 5.5.1 GA安装3 2. MyEcli ...

最新文章

  1. ubuntu安装vmware(支持mac)与卸载
  2. Jmeter常见问题(转)
  3. 最邻近插值法(The nearest interpolation)实现图像缩放
  4. 程序员必须掌握的英语单词
  5. 面对对象编程(OOP, Object Oriented Programming)及其三个基本特性
  6. Oracle表空间大小的限制和DB_BLOCK_SIZE的概念
  7. 互联网+(怎样保证小孩的安全) 2
  8. bodymovin导出没有html5,AE导出Web动画插件Bodymovin 5.7.6+使用教程 For CC 2014 – CC 2020...
  9. funcode之c++版弹弹堂(第一个设计实验)
  10. win10退出安全模式后,没有网络
  11. linux无线usb网卡,Linux下USB无线网卡WL-167G驱动安装过程
  12. 最短路径问题(Dijkstra常用用法总结)
  13. 弹性布局自动排列DIV
  14. 哥大sps学院有计算机,哥大的sps学院是什么意思
  15. Thinkjs——定时任务配置代码示例
  16. archetype说明
  17. 离散数学 课时一 命题逻辑的基本概念
  18. 【工作记录】配置高效科研工作软件
  19. 服务器构成,分类,操作系统;机械硬盘,固态硬盘,光模块,光纤接口,跳线;计算虚拟化
  20. win10环境变量设置(win10系统环境变量怎么设置)

热门文章

  1. c语言花朵源代码,C语言花朵代码.doc
  2. 怎么练字才会有效果,多久才能有体现
  3. SAP 货币类型和公司代码的货币设置
  4. mysql 认证介绍,MySQL认证介绍 (转帖)
  5. EasyUI框架介绍
  6. 来讲讲什么是元数据和主数据
  7. java项目源码分享_ssm项目分享600套
  8. html添加田字,兆加页(是加三个田是什么字)
  9. 网易云音乐转码_网易云音乐产品分析报告
  10. 深入理解Java回调函数