Java课程设计——日历的设计与实现
一、日历的设计与实现
首先要将用户输入的日期转换成字符串格式,再将字符串转换成指定的日期格式,最后把日期格式变成日历。然后就是要写好每个月有几天,是闰年还是平年,每个月的第一天是星期几,一个日历中有几行几列等等。程序中还实现了当前你查询的日期前面还多了一个“#”。
二、使用步骤
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课程设计——日历的设计与实现相关推荐
- Java课程设计-日历记事本
#Java课程设计-日历记事本 ##日历记事本 要求:带有日程提醒功能的日历(数据库可采用Access.SQL Server或者MySQL). (1)显示信息:用户可以向前翻页查询前一个月的日期,也可 ...
- 日历记事本java_日历记事本-JAVA课程设计..
沈 阳 大 学 日历记事本 1. 课程设计目的 通过此次课程设计,巩固所学 Java 语言基本知识,增进 Java 语言编辑基本功,掌 握 JDK . Editplus . Eclipse . JCr ...
- java课程设计日历记事本_《Java程序设计》课程设计日历记事本.doc
<Java程序设计>课程设计日历记事本 PAGE PAGE 2 本科生课程设计 课程名称 Java程序设计课程设计 课程编号 j1620011 题目 日历记事本 学号 2008116222 ...
- java课程设计日历_java课程设计日历记事本赵锐.doc
java课程设计日历记事本赵锐.doc 2本科生课程设计课程名称JAVA程序设计课程设计题目日历记事本学号201440930252学生姓名赵锐所在专业2014计算机学院所在班级信工2班成绩课程设计时间 ...
- java课程设计日历,java课程设计--日历
java课程设计--日历 0 java 语言课程设计 学 院 指导教师 学 号 姓 名 班 级 1 目录 一.课程题目2 二.需求分析2 三.概要设计2 四.详细设计2 五.测试数据及运行结果8 六. ...
- java课程设计数字日历,java课程设计简单日历.doc
java课程设计简单日历.doc java课程设计报告题目:JAVA简易时间日历程序学生姓名:董兆军学号:2010314120专业班级:信101指导教师:李红强Java课程设计报告信101董兆军201 ...
- 万年历java课程设计报告_java《万年历系统》课程设计报告附源码.doc
java<万年历系统>课程设计报告附源码.doc 学号<面向对象程序设计>课程设计报告题目:万年历系统专业:计算机科学与技术班级:姓名:学号:指导教师:成绩:计算机与信息工程系 ...
- JAVA课程设计——“小羊吃蓝莓”小游戏
JAVA课程设计--"小羊吃蓝莓"小游戏 1. 团队课程设计博客链接 http://www.cnblogs.com/HXY071/p/7061216.html 2. 个人负责模块或 ...
- Java课程设计基于ssm的微信小程序
Java课程设计, 基于ssm的微信小程序 后端涉及技术spring.mysql等 效果查看请扫一扫 喜欢可以点赞哟
- ATM柜员机JAVA课程设计_ATM柜员机学年论文设计(Java课程设计)
内容简介: ATM柜员机学年论文设计(Java课程设计),共23页,4599字,附源程序. 一. 程序介绍3 二. 开发环境搭建3 1. MyEclipse 5.5.1 GA安装3 2. MyEcli ...
最新文章
- ubuntu安装vmware(支持mac)与卸载
- Jmeter常见问题(转)
- 最邻近插值法(The nearest interpolation)实现图像缩放
- 程序员必须掌握的英语单词
- 面对对象编程(OOP, Object Oriented Programming)及其三个基本特性
- Oracle表空间大小的限制和DB_BLOCK_SIZE的概念
- 互联网+(怎样保证小孩的安全) 2
- bodymovin导出没有html5,AE导出Web动画插件Bodymovin 5.7.6+使用教程 For CC 2014 – CC 2020...
- funcode之c++版弹弹堂(第一个设计实验)
- win10退出安全模式后,没有网络
- linux无线usb网卡,Linux下USB无线网卡WL-167G驱动安装过程
- 最短路径问题(Dijkstra常用用法总结)
- 弹性布局自动排列DIV
- 哥大sps学院有计算机,哥大的sps学院是什么意思
- Thinkjs——定时任务配置代码示例
- archetype说明
- 离散数学 课时一 命题逻辑的基本概念
- 【工作记录】配置高效科研工作软件
- 服务器构成,分类,操作系统;机械硬盘,固态硬盘,光模块,光纤接口,跳线;计算虚拟化
- win10环境变量设置(win10系统环境变量怎么设置)