当前位置:文档之家› (完整版)java万年历课程

(完整版)java万年历课程

(完整版)java万年历课程
(完整版)java万年历课程

JA V A课程设计报告

模拟时钟

系别:计算机系

班级:计本1119班

姓名:高鹏飞

学号:1162041928

指导教师:白茹意

一、课程设计任务及要求

(1)设计任务:

编写一个Java 万年历程序,实现日期和星期的查询。

(2)设计要求:

1、主界面采用边界布局,北面是一个设置年月的控制面板,中间是日历绘制区;

2、单击“月份”的下拉式菜单,可以显示当前月的上一月/下一月的日历;

3、单击“年份”的下拉式菜单,可以显示上一年/下一年的当前日历;

二、需求分析

对于万年历系统,其主要功能是:查看当日日期(年、月、日)、查看当时时间、查看其他年月的月历。主要使用流程是:查看万年历系统,查看其他月份或年份日历,选中其他日期查看,查看当日日期。主要功能的用例描述如下:

(1)查看万年历

1、进入万年历系统;

2、系统获取当日日期并设置日历为当月,红框选中当日日期;

(2)查询当月其他年份

改变年份的方法是选择年份。

下拉菜单选择年份:

1、点击选择年份的下拉菜单,选择年份;

2、系统获取已选择的年份;

3、系统设置为已选年份当月的月历并显示在界面显示。

(3)查询当年的其他月份

改变月份的方法是选择月份。

下拉菜单选择月份:

1、点击选择月份的下拉菜单,选择年份;

2、系统获取已选择的月份;

3、系统设置已选月份为当年的月历并在界面显示。

(4)选择其他日期查看

1、点击其他日期;

2、系统对所有日期的label进行监听,判断点击的那个label;

3、返回被点击的label的数组下标;

4、对该下标的label设置蓝色边框,表示选中。

三、设计思路

本课设界面由边界布局构成,主要有北方部件和中央部件两部分。(1)北方部件上有查询输入部分和时间显示部分:

1、两个下拉列表用于选择的年份和月份,如改变年份后系统用getShowYear()获得组合框中的中文年份,getCombYear()转换成英文格式,得到用户选择的年份,同时用getMonthDays()和getInitWeek()得到界面的设定,最终,用setDays()设置出用户所要求的月历,改变月份同理;

2、四个button按钮用于实现年—、年+、月—、月+,如摁了“年+”后,系统用getShowYear()和getCombYear()获得组合框中的年份,在其年份上加1,将改变的年份显示在组合框里,计算出该年月日历的安排,并用setDays()设置出用户所要求得月历,其他按钮同理;

3、一个button按钮用于实现对今日日期的查找,当用户摁了“今日”后,系统用getNowYear()和getNowMonth()得到当日年月,并调用setNowDay()将系统组合框内年月设为当日年月,显示当月月历,同时系统用getNowDay()获得当日日期,用labelDay[i].setBorder(border1)语句将当日的日期用蓝色的边框框住表示选定;

4、创建一个标签用于显示时间,监听系统时间并显示。

(2)中央部件上添加系统的结果显示部分:

1、该部分最初显示为当日年月的月历,改变年月后,获得需要显示的月份天数m和当月1号是从labelDay[n]开始后按顺序从添加到labelDay[m+n],遇到周末用setForeground(Color.red)设定字体显示为红色;

2、对labelDay标签进行监听,如果鼠标点击某个label,判断该标签的的序号,用setBorder()为该label设置蓝色边框并用setBordr(null)将上一个边框清除。

四、详细设计

(1)类设计

本程序创建了一个MainFrame类,该类包括了改变年月对月历界面显示的改变和时间的显示,主要包括函数如表1所示:

MainFrame

表 1

(2)界面设计

界面如图1所示该界面由上北面的输入选择部分和中央的结果显示部分组成。输入部分创建两个下拉列表选择年月及5个功能按键用于实现日历的基本操作;结果显示部分根据该月1号所属星期和该月的天数设置出该月月历界面。

for(int i=0;i<7;i++)

{

labelWeek[i] = new JLabel();

labelWeek[i].setHorizontalAlignment(0);

if(i==0||i==6)

{

labelWeek[i].setForeground(Color.red); //设置周末为红色

labelWeek[i].setFont(new Font("新宋体",Font.BOLD,18));

}

else

{

labelWeek[i].setForeground(Color.BLACK);

labelWeek[i].setFont(new Font("新宋体",Font.PLAIN,18));

}

labelWeek[i].setText(stringWeekCn[i]); panel2.add(labelWeek[i]);

}

————————————加上日期的label—————————————for(int i= 0;i<42;i++)

{

labelDay[i] = new JLabel();

labelDay[i].setHorizontalAlignment(0); //设置文本的水平对齐方式

labelDay[i].setText("");

panel2.add(labelDay[i]);

labelDay[i].addMouseListener(listener); //对label进行监听

}

————————————设置月历————————————————public void setDays(int monthDays,int initWeek,int day)

{

setDateNull();

for(int i=initWeek;i

labelDay[i].setFont(new Font("黑体",Font.BOLD,18));

//设置日期的字体if((i-initWeek+1)==day) //如果日期为今天

{

for(int j=0;j<42;j++)

labelDay[j].setBorder(null);

labelDay[i].setBorder(border1); //选中当日日期

}

if((i%7==0)||(i%7==6))

labelDay[i].setForeground(Color.red); else labelDay[i].setForeground(Color.BLACK); labelDay[i].setText(String.valueOf(i-initWeek+1));

}

for(int i=initWeek+monthDays;i<42;i++)

labelDay[i].setText("");

}

(3)功能实现

该系统主要实现的功能如图2所示

图 2

1、当用户需要查询指定年月的日历时,用户将选择框内年月改变,系统获取信息并设置月历,具体流程如图3所示

图3

2、用户用鼠标点击选择一个日期后,系统可用蓝色方框框住该日期,表示系统已选择该日,具体流程如图5所示

图4

五、运行调试与分析讨论

(1)运行结果和分析

图5为系统初始界面,系统自动设置为当日年月的月历,并且用红色框住当日日期。

图5

(2)改进想法

该万年历程序只能显示阳历,可在其基础上加上阴历的显示,当鼠标点击了某一日的日期时,该日期被框住并且显示出其阴历日期;

每年一些固定的节日如“五一”、“十一”可在日历上用红色数字显示出来;

月历上其他未填日期的空白label可用加上上个月和下个月的部分日期,用灰色表示方便区。

六、设计体会与小结

Java 语言是解释执行的高级编程语言,是面向对象的程序设计语言,功能强大,它是解释执行的,能跨平台使用。具有较高的性能和高度的安全性,Java程序的三级代码安全检查机制可以有效的防止非法代码的入侵,阻止对内存的越权访问,能够避免病毒的侵害,成为Internet上最安全的技术之一。并且支技多线程,可使用户程序并行执行,即有内存垃圾自动收集机制。Java语言是一种“直译”式语言,即用Java编写的程序首先被编译成字节码,再通过JVM解释成机器码,字节码是Java 专有的一种中间码,必须通过JVM来解释才能运行。经过了一个学期对《Java程序设计》的学习,我们学习了理论知识,了解了Java语言程序设计的思想,这些知识都

为我们的下一步学习打下了坚实的基础。

经过这次课程设计使我对JAVA图形用户界面的有关知识有了更深入了解,如几种布局管理器的使用方法,事件的处理机制,SWING的基本体系结构,SWING组件的使用方法,多媒体的实现手段等知识。完成了简单的万年历功能,本次课程设计的主要内容就是设计一个可以查询日期的程序,通过选择下拉列表中的年份以及月份来实现日期的查询,及按键改变年月通过它可以查询到日期的一些具体信息,可以查询所选日期是星期几,还对星期六与星期日有特殊颜色的标记,方便查看。此外,还可以实现显示数字时间的功能,简单实用。通过课程设计,能够达到全面、深入理解和掌握所学内容,能够进行简单的分析和判断。这次课程设计,虽说在设计过程中遇到了很多的困难,但是在老师的细心指导下,很多不会的问题都迎刃而解了。此次课程设计一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。是对自己学习的一次很好的检验。能完成这次的课程设计,和身边的同学和老师的帮助分不开的。在此对指导老师表示感谢,还有帮助过我的一些同学,在此也表示谢意。在今后的学习中我也会更加努力的。

..

JAVA《万年历系统》课程设计报告附源码

2013-2014学年第二学期《面向对象程序设计》 课程设计报告 题目:万年历系统 专业:计算机科学与技术 班级: : 学号: 指导教师: 成绩:

计算机与信息工程系2014年6月6日

目录 1 设计容及要求 (1) 1.1设计容 (1) 1.2设计任务及具体要求 (1) 2 概要设计 (2) 2.1程序设计思路 (2) 2.2 总体程序框图 (3) 3 设计过程或程序代码 (4) 3.1各个模块的程序流程图及运行界面 (4) 3.2对关键代码加以分析说明 (7) 4 设计结果与分析 (13) 4.1程序调试的结果 (13) 4.2程序设计分析 (13) 5 小结 (14) 致 (15) 参考文献 (16) 源程序 (17)

1 设计容及要求 1.1设计容 万年历,实际上就是记录一定时间围(比如100年或更多)的具体阳历或阴历的日期的年历,方便有需要的人查询使用。在我设计的万年历中主要有:(1)使用图形用户界面来查询用用户所需的日期信息,符合日常软件使用规。 (2)按月份查询,实现了显示查询1901~2100年某月所有日期的阴阳历对照。 (3)并且添加了重大节日与星座等信息,界面采用日常的星期与月份结合的格式,方便查看与使用。 (4)编写万年历的课程设计,是为了使同学们更加了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。 1.2设计任务及具体要求 利用JAVA语言编写的万年历系统采用了多种JAVA语句来实现多种功能。用户可以通过本程序的applet运行界面来查找一整年某月的农历和阳历,可以查找用户所想了解的某一天具体为星期几,并且可以看到一些重大节日的具体时间。 要求:满足设计万年历系统的目的,即当用户查询年份与月份时,系统就要将这一年的某一月份的阴历与阳历全部显示出来,并且附带这一月份的重大节日。当用户随意改动年份或月份时系统自动显示与星期对应的日期。用户点击日

Java课程设计+文档+源代码(万年历+闹钟+记事本)

2015年12月18日 一、课程题目 设计一个万年历系统,实现以下功能 (1)可以查看当前的年份、月份和日期; (2)有时间栏,便于用户查看当前时间; (3)能够查找1至9999年的日期与星期的关系。 其它功能可自行开发。 二、题目分析与设计 1.使用的开发环境为eclipse Jdk环境:jdk1.8 2. (此为万 年历界面图) 使用了jTabbedPane 类对功能页面分页,布局策略基本用BorderLayout 和GridLayout 。 3.本项共有5个类,基本一个功能有一个类实现,主类CalendarMain 只包含一个main函数:对创建框架和其属性设置。

AlarmDemo类则实现闹钟功能;NoteBook 类实现记事本功能;CalendarsView 类则实现基本日历功能,ChooseDay 类是一个弹窗,被CalendarsView 调用,CalendarsView 、AlarmDemo 也在该类被调用; . 4.日历界面使用了jTable ,功能的实现逻辑则是 1.首先定义两个全局变量---年和月,查看不同时间的日历,该变量也 随之改变。 2.写了几个函数获取今年第一天是星期几,然后根据月份天数即可推 算具体某月第一天是星期几。 3.知道一个月第一天是星期几,则该月日历既可以顺序列出。 闹钟的功能实现思路: 1.获取界面设定的时间。

2.使用线程,每过一秒急救获取当前时间,并判断是否到达设定的时 间 3.到设定的时间,启动弹窗,播放闹铃 4.闹铃科根据文件选择器自行选择 记事本功能实现思路 1.在项目文件夹先新建一个txt文件作为储存的数据库 2.利用File 类和io 数据流将界面文本储存进txt文件,实现保存功 能 3.每当程序启动,读取txt文件内容并显示到界面上 三、测试分析 1.使用如下拓展包

java课程设计 万年历 源代码

华北科技学院 课程设计报告 面向对象程序设计(Java) 班级: 电商B09-3 姓名: 周婷玉 设计题目:__________万年历________________ 设计时间: 2011-12-28 至2012-01-06 指导教师:_______ 郭慧____________ _____ 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:___________评阅教师:_____________

课程设计说明书 1、课程设计的目的 a)掌握面向对象程序设计基本要素(封装、继承、多态) b)掌握JA VA语言常用类包及其常用方法和JA VA语言基本语法 c)掌握基于AWT的图形用户界面设计 i.常用标准控件的使用,如标签、按钮、菜单、文本框、单选按钮、 滚动条等。 ii.事件处理机制 d)掌握布局、对话框的使用 e)掌握发布JA VA应用程序 2、功能模块简介和系统结构图 需求分析:本程序的要求为: 1.使用图形用户界面 2.能够实现日期与星期的查询 3.实现当日的时间备忘 功能设计: 1.能以月历形式显示日期与星期 2.支持用户自己输入年份,并提供月份的下拉形式来选择查询 3.添加当日行事历,储存与清除功能

Java万年历课程设计报告

杭州师范大学钱江学院课程设计 题目万年历 学院钱江学院 专业信电分院计算机科学与技术 班级计算机1101 姓名崔伊平 指导教师王李冬 2013 年9 月20 日

目录 一.概述 (1) 二.总体方案设计 (2) 三.详细设计 (3) 四.最终输出 (7) 五.课程设计总结 (8) 参考文献 (9)

一、概述 1.课程设计的目的 通过显示年日历程序的设计,培养学生综合利用java语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。 通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《java语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了java语言的好处和其可用性! 2.课程设计的要求 2.1 输入查询的年份与月份,单击“更新”按扭,则可得到相应的日历。本实验是对图形用户界面,布局管理器的综合运用。要掌握APPLET容器中添加组件的方法,理解JAVA 的事件处理机制,编写独立的运行窗口。 2.2 输出形式 使用独立的运行窗口进行显示。界面主要由两部分组成——查询输入部分和结果显示部分。查询输入部分包括两个文本域,一个用于输入年份:一个用于选择月份:一个更新按扭,用来触发查询事件。

二总体方案设计 1.程序开发环境 a.开发环境:eclipse b.系统环境:windows xp/7 c.设计工具:Microsoft office 2003 2.整体流程图 图1 流程图 3.功能模块图

java控制台输出万年历

import java.util.Scanner; //蔡勒(Zeller)公式(只适合于1582年10月15日之后的情形): w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 //公式中的符号含义如下: c:世纪(年的高两位数); y:年(年的低两位数); //m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算, //比如2005年1月1日要看作2004年的13月1日来计算); d:日; []代表取整,即只要整数部分。 //w:星期;w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四, 5-星期五,6-星期六 //以2005年2月14日为例:c=20,y=4,m=14,d=14 //w = 4 + [4/4] + [20/4] - 2*20 + [26*(14+1)/10] + 14 - 1 = 4 + 1 + 5 - 40 + 39 + 14 - 1 = 22 //(除以7余1) 所以2005年2月14日是星期一。 public class PerpetualCalendarII { public static void main(String[] args) { // declare variable month,year int month, monthDays = 0, year; int firstDayOfMonth, a, b, w; int count = 0; // declare flag boolean flag; Scanner sc = new Scanner(System.in); System.out.println("请输入年份:"); year = sc.nextInt(); System.out.println("请输入月份:"); month = sc.nextInt(); // judge year is leap year or not if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { flag = true; } else { flag = false; } // get days of the month switch (month) { case 4: case 6: case 9: case 11: monthDays = 30; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: monthDays = 31; break; case 2: if (flag == true) { monthDays = 29;

Java课程设计-万年历

河北科技大学课程设计报告 号:学生姓名:学 专业班级:程序设计课程设计Java课程名称:学期学年第 2 2 015 学年学期: 2 014 — 指导教师:刘伟月年 2 0

的?.................................................................. ................................1?? 2.需求分................................................................... .........析................................1? 3.总体设计................................................................... ........................................1? 4.详细设计................................................................... ........................................1?

5.软件测试................................................................... . (10) 6.课程设计总结................................................................... ................................11. 一、课程设计目的(1)熟练使用java语言编写程序,解决实际问题。? (2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;? (3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析本程序的要求为: 1.使用图形用户界面;? 2.本程序能够实现日期与星期的查询。 ?三、总体设计(1)可以通过图形界面显示日历。? (2)能以月历形式显示日期与星期。? (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。? ?四、详细设计1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。 ,0若是取余得几既为星期几,7使总天数除以输出月份第一天为星期几的算法:2. 则为星期日。? 3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。? 4.查询年份必须为四位有效数字,否则不予显示。 程序源代码: import import import import import import; import import import ; import ; import import import java.awt.*; import import java.text.*; import ;

Java课程设计-万年历

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 课程名称:Java程序设计课程设计 学年学期:2 014 —2 015 学年第2 学期指导教师:刘伟 2 0 年月

课程设计成绩评定表 学生姓名学号成绩专业班级起止时间 设计题目 指导教师评语学习态度:端正□较端正□一般□较差□ 学习纪律:好□较好□一般□较差□ 出勤情况:好□较好□一般□较差□ 程序设计:好□较好□一般□较差□ 动手能力:强□较强□一般□较差□ 团队精神:好□较好□一般□较差□ 创新意识:强□较强□一般□较差□ 课程设计完成情况:优秀□好□一般□较差□ 课程设计报告完成情况:优秀□好□一般□较差□ 指导教师: 年月日

目录 1.课程设计目的 (1) 2.需求分析 (1) 3.总体设计 (1) 4.详细设计 (1) 5.软件测试 (10) 6.课程设计总结 (11)

一、课程设计目的 (1)熟练使用java语言编写程序,解决实际问题。 (2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; (3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析 本程序的要求为: 1.使用图形用户界面; 2.本程序能够实现日期与星期的查询。 三、总体设计 (1)可以通过图形界面显示日历。 (2)能以月历形式显示日期与星期。 (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。 四、详细设计 1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。 2.输出月份第一天为星期几的算法:使总天数除以7取余得几既为星期几,若是0,则为星期日。 3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。 4.查询年份必须为四位有效数字,否则不予显示。 程序源代码: import java.awt.BorderLayout; import java.awt.Color;

java课程设计任务书万年历

课程设计(论文)任务书 软件学院学院_______________________________ 专业_______________________ 班一、 课程设计(论文)题目 ____________________________________________________________ 二、课程设计(论文)工作自2012 年12月_2£日起至2012年12月_28_日止。 三、课程设计(论文)地点: 软件学院实训中心 四、课程设计(论文)内容要求: 1 ?本课程设计的目的______________________________________________________________ (1)掌握Java语言的程序设计方法; ( 2)理论联系实际,进一步提高学生的软件开发技术; ( 3)培养学生分析、解决问题的能力; ( 4)提高学生实践论文撰写能力。 2 ?课程设计的任务及要求 1 )课程设计任务: (1) 设计一个万年历系统,能查看日期。 ___________________________________________ (2) 能查任意一年任意一月的日期。 _______________________________________________ (3) 背景显示当前年月。 _________________________________________________________ 2) 创新要求: (1)月份查看使用下拉菜单。 (2)查看框可随意拉大拉小,背景显示当前的年月。__________________________________ 3) 课程设计论文编写要求___________________________________________________________ (1)课程设计任务及要求____________________________________________________________ (2 )设计思路--工作原理、功能规划 (3)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注 释)、界面等。 (4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。 (5 )设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些 知识,有哪些提高。

java课程设计报告-万年历

山西大学Java课程设计报告 题目:万年历 班级:14 班 学号: 姓名:

2016年12月 目录 1 绪论 (1) 1.1选题目的及意义 (1) 1.2 系统概述 (1) 1.3 人员组成及分工 (1) 2 需求分析 (1) 3 总体设计 (1) 4 详细设计 (1) 5 系统实现 (2) 5.1 开发环境 (3) 5.2 关键技术 (3) 6.运行结果 (6) 7.软件测试 (7) 8.总结 (7)

9 参考文献 (8) 1.绪论 1.1选题目的及意义 选题目的:本次课程设计为课本后设计题目任选一题进行设计。思考一段时间后,我们组决定做一个万年历的设计。主要考虑到以前时间少课程内容多,JAVA课程基础内容掌握并不是很抓实,而对于设计一个万年历程序,由于其功能简单设计也相对较易,对于我们每个人的学习情况比较合适,并且通过设计这样的一个日历小组件,也能使自己对JAVA 的一些基础知识掌握的更加牢固。 1.2 系统概述 随着电子技术的不断发展,人们的不断创新,万年历已经不再局限于书本形式,而是以电脑软件或者电子产品的形式出现。让其更加便捷。在学习了JAVA课程后,将以JAVA 形式编译出一个简易的万年历。 1.3 人员组成及分工 :负责搜集查找资料 :调试程序 最后进行程序的编写与修改

2.需求分析 本程序的要求为:1.使用图形用户界面; 2.本程序能够实现日期与星期的查询。 3.可以添加或者删除日志 3.总体设计 (1)可以通过图形界面显示日历。 (2)能以月历形式显示日期与星期。 (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。(4)可以添加或者删除并且点击对应日期显示日志。 4.详细设计 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是 闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。 2. 输出月份第一天为星期几的算法:使总天数除以7取余得几既为星期几,若是 0,则为星期日。 3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该 日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。 4. 查询年份必须为四位有效数字,否则不予显示。 5.显示系统时间。 6.流程图

Java万年历课程设计报告

Java课程设计 设计题目:万年历 系别:计算机科学与工程学院 专业:信息管理与信息系统 学号: 1100340116 姓名:岑少兵 指导教师:汪华澄 时间: 2013-6-29

目录 摘要 (3) 系统功能结构图 (3) 1 系统模块设计 (4) 1.1 需求设计 (4) 1.2 开发和运行环境 (4) 1.3 功能设计 (4) 2 万年历详细设计思路 (4) 2.1 程序设计思路 (5) 2.2 程序运行主界面 (5) 2.3 流程图 (6) 3 各模块功能实现及代码说明 (6) 3.1 MainFramel类 (6) 3.2 Lunar类 (14) 3.3 national类 (22) 3.4 SetClock类 (26) 4 小结 (34) 5 参考文献 (34)

基于Myeclipse的万年历 摘要:万年历是日常生活中不可或缺的小工具,用万年历我们可以准确地查到当前,以后或是过去的日期,极大地方便了我们的生活。在万年历上添加了显示本地时间以后会更加准确地显示时间。无论是对于我们学生还是上班族或是自由职业者需要经常查看和查找万年历来规划自己将要做得一些事情,或是回忆在过去的时间里已经做过的事情,使之更加有利于提升我们的学习或是工作进度。 系统功能结构图:主要描述系统要实现的各个模块的功能。

1系统模块设计 1.1需求分析 本程序的要求为:1.使用图形用户界面 2.能够实现日期与星期的查询 3.能够显示农历 4.能够查看世界时间 5.能够添加闹钟 1.2 开发和运行环境 开发工具:Myeclipse 运行环境: windows 7 1.3功能设计 本程序要构建的万年历程序,其功能有以下几个方面: (1)通过 (2)提供年份、月份的下拉形式菜单来选择年份和月份。 (3)通过Lunar类实现农历日期。 (4)通过national类实现世界时间。 (5)能以月历形式显示日期与星期。 (6)通过SetClock类来实现闹钟功能。 (7)通过点击世界时间按钮查询世界时间 (8)通过点击闹钟按钮设置闹钟 (9)显示系统当前时间和日期。 (10)显示作者信息。 2万年历详细设计思路 2.1程序设计思路 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,

java万年历设计报告

JAVA大作业

目录 作业要求 (3) 项目概述 (3) 具体功能介绍 (4) 设计与实现 (4)

作业要求: 编写一个万年历程序,要求能够查询历史时间,能够添加、查看、删除备忘录。 项目概述 这个项目是一个简单的Java万年历,可以实现所有年份的公历日期的查询,并且在相应的日期做备忘录,以及可以显示当前的日期以及时间。 使用的是Oracle数据库进行连接。

具体功能介绍: (1)万年历查询:点击图形界面中的上年、下年键用来调整要查询的年份,或者可以直接在上年下年按钮直接的文本框中输入年份(负数表示公元前),以回车结束;点击上月或者下月来调整要查询的月份,然后可以看到这个月的每一天所对应的星期。 (2)Clock功能:在万年历下面显示当前的年月日时分秒,相当于一个时钟的功能。 (3)记事本功能:可以任选某年某月的某一天,单击,在右侧会出现这一天的备忘录,如果存在,则显示某年某月某日有日志记载,是否想看,否则,则在文本框中显示无记录;然后可以编辑这一天的备忘录,编辑好了之后,点击保存日志,弹出对话框某年某月某日保存日志吗,点击保存,则日志被保存,反之未被保存;若想删除某日的日志,则单击这一天,然后点击右侧的删除日志,显示删除某年某月某日的日志吗,点击是,则日志被删除。从文件中读取备忘录的内容,用数据库进行存储和删除操作。 设计与实现(需要附全部代码,GUI自动生成代码除外): 1 类的设计(继承、多态、数据结构):核心类是Month,Y ear,NotePad,Clock,DBAccess,CalendarPad.(其中继承用粗体,接口用粗斜体,数据结构是哈希表,用粗下划线,多态用斜体+点点短线式下划线) 2 Java IO (文件访问):用的是粗体+浪线 3 JDBC (数据库访问):使用Oracle数据库连接,是直连(双下划线) 数据库是:create table mynotes( mydate varchar2(50) primary key, note varchar2(100) not null ); 4 Socket + Multi-Thread:斜体(定义在Clock中的Thread t) 5 GUI (用户界面):点下划线来表示GUI用户界面 6 其他功能:(无) 以下是全部代码(共六个.Java文件) //对月份的选择 package javaapplication13;

java万年历制作

一、设计内容和要求 1、简单万年历的基本要求 本程序的要求为:1.使用图形用户界面;2.本程序能够实现日期与星期的查 询。 2、需要实现的主要功能 (1). 能够显示实现1800-2100年的日期,包括公历、农历、星期、二十四节气。 (2). 能够按照月份格式显示,或按照星期格式显示。 (3). 能够显示系统时间。 (4). 能够设置闹钟。 (5). 能够查询若干国际大城市(分布在不同时区)的时间。 二、系统分析与概要设计 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否 为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。 2. 输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为 星期几,若是7,则为星期日。 3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几 后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。 4. 如果年份小于1900年则程序不予判断 5.公历与农历的换算。公历年对应的农历数据,每年三字节,格式第一字 节BIT7-4 位表示闰月月份,值为0 为无闰月,算法:日期+年份+所过闰年数+月较正数之和除7 的余数就是星期但如果是在闰年又不到3 月份上述之和要减一天再除7星期数为0。 6、系统时间的设置。直接从系统得到时间,设置字体,背景,显示框架

java-万年历课程设计报告

西安科技大学 程序设计综合实训课程设计报告 题目:万年历 班级: 学号: 姓名: 2103年12月

目录 1绪论 (1) 1.1选题目的及意义 (1) 1.2 系统概述 (1) 1.3 人员组成及分工 (1) 2 需求分析 (1) 3 总体设计 (1) 4 详细设计 (1) 5 系统实现 (2) 5.1 开发环境 (3) 5.2 关键技术 (3) 6.运行结果 (6) 7.软件测试 (7) 8.总结 (7) 9 参考文献 (8)

1.绪论 1.1选题目的及意义 选题目的:本次课程设计为课本后设计题目任选一题进行设计。思考一段时间后,我们组决定做一个万年历的设计。主要考虑到以前时间少课程内容多,JAVA课程基础内容掌握并不是很抓实,而对于设计一个万年历程序,由于其功能简单设计也相对较易,对于我们组每个人的学习情况比较合适,并且通过设计这样的一个日历小组件,也能使自己对JAVA 的一些基础知识掌握的更加牢固。 1.2 系统概述 随着电子技术的不断发展,人们的不断创新,万年历已经不再局限于书本形式,而是以电脑软件或者电子产品的形式出现。让其更加便捷。在学习了JAVA课程后,将以JAVA 形式编译出一个简易的万年历。 1.3 人员组成及分工 付磊:负责搜集查找资料 王杜超:调试程序 两人共同负责程序的编写与修改 2.需求分析 本程序的要求为:1.使用图形用户界面; 2.本程序能够实现日期与星期的查询。 3.可以添加或者删除日志 3.总体设计 (1)可以通过图形界面显示日历。 (2)能以月历形式显示日期与星期。 (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。(4)可以添加或者删除并且点击对应日期显示日志。 4.详细设计 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是 闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,

JAVA日历记事本课程设计报告

Java日历记事本课程设计报告 在设计日历记事本时,需要编写6个JA V A源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java、Clock.java和CalendarMesssage.java 效果图如下 . CalendarWindow类 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.io.*; public class CalendarWindow extends JFrame implements ActionListener,MouseListener,FocusListener{ int year,month,day; CalendarMessage calendarMessage; CalendarPad calendarPad; NotePad notePad; JTextField showYear,showMonth; JTextField[] showDay; CalendarImage calendarImage; String picturename; Clock clock; JButton nextYear,previousYear,nextMonth,previousMonth; JButton saveDailyRecord,deleteDailyRecord,readDailyRecord;

JButton getPicture; File dir; Color backColor=Color.white ; public CalendarWindow(){ dir=new File("./dailyRecord"); dir.mkdir(); showDay=new JTextField[42]; for(int i=0;i

java课程设计万年历程序设计报告

山东科技大学 信息学院 JAVA程序设计 学院:信息科学与工程学院 班级:计算机 11-3 学号:0230

姓名:赵乐

目录 目录 (1) 前言 (1) 1需求分析 (2) 2.概要设计 (3) 3.各模块的功能及程序说明 (5) 4.测试分析 (13) 5.源程序清单 (13) 6.课程设计体会 (22) 前言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年发布。1998年发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java 运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。

Java万年历源代码

import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; publicclass wannianli extends Jframe//窗体类implements ActionListener,//事件处理接口MouseListener { private Calendar cld = Calendar.getInstance();//获取一个Calendar类的实例对象 private String[] astr = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" }; //JPanel是Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField等private DefaultTableModel dtm = new DefaultTableModel(null, astr);//创建了一个表格模型 private JTable table = new JTable(dtm); private JScrollPane sp = new JScrollPane(table); private JButton bLastYear = new JButton("上一年

Java课程设计万年历

J a v a课程设计万年历 Revised by Chen Zhen in 2021

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: Java程序设计课程设计 学年学期: 2 014 —2 015 学年第 2 学期指导教师:刘伟 2 0 年月 课程设计成绩评定表

目录 1.课程设计目的 (1) 2.需求分析 (1) 3.总体设计 (1) 4.详细设计 (1) 5.软件测试 (10) 6.课程设计总结 (11)

一、课程设计目的 (1)熟练使用java语言编写程序,解决实际问题。 (2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; (3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析 本程序的要求为: 1.使用图形用户界面; 2.本程序能够实现日期与星期的查询。 三、总体设计 (1)可以通过图形界面显示日历。 (2)能以月历形式显示日期与星期。 (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。 四、详细设计 1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。 2.输出月份第一天为星期几的算法:使总天数除以7取余得几既为星期几,若是0,则为星期日。 3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。

4.查询年份必须为四位有效数字,否则不予显示。 程序源代码: import import import import import import; import import import ; import import ; import import .*; import import .*; import ; import .*; import .*; import .*; import .*; import public class wannianli extends JFrame implements ActionListener{ private Calendar cal= (); private String [] str = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"}; private DefaultTableModel dtm = new DefaultTableModel(null,str);

Java课程设计万年历

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: Java程序设计课程设计 学年学期: 2 014 —2 015 学年第 2 学期指导教师:刘伟 2 0 年月 课程设计成绩评定表

目??录 1.课程设计目的?......................................................................... .........................1?? 2.需求分析.......................................................................... .................................1? 3.总体设计..........................................................................

.................................1? 4.详细设计.......................................................................... .................................1? 5.软件测试.......................................................................... (10) 6.课程设计总结.......................................................................... . (11)

相关主题
文本预览
相关文档 最新文档