当前位置:文档之家› java课程设计任务书万年历

java课程设计任务书万年历

java课程设计任务书万年历
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 )设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些

知识,有哪些提高。

(6 )参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)

(7) 报告按规定排版打印,要求装订平整,否则要求返工;

(8) 课设报告的装订顺序如下:封面---任务书---中文摘要---目录----正文---附录

(代码及相关图片)

2012年12 月日

(9 )严禁抄袭,如有发现,按不及格处理。

2012年12 月24 日

课程设计(论文)评审意见

讲师

中文摘要

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems 公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME )的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人

PC、数据中心、游戏控制台、科学超级计算机、移动电话和

互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

Java平台由Java虚拟机(Java Virtual Machine,简称JVM )和Java应用编程接口

( Applicatio n Programmi ng In terface,简称API)构成。Java 应用编程接口为Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个

Java平台之后,Java应用程序就可运行。现在Java平台已

经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中

运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4, 最近版本为Java1.7。

Java优势,是适合团队开发,软件工程可以相对做到规范,这是一个很难比拟的优势。java 劣势,是j2ee的架构很完美,第一版软件可以做满意,但是很不适合互联网模式的持续不断修改。互联网软件工程管理上的不足,持续的修修补补导致架构的破坏。系统更新需要重启web服务,很难接受。

Java是一种应用前景很广的语言,应该好好学习,通过课程设计巩固学过的知识,为今后的学习打下坚实的基础。

2012年12 月日

目录

一、课程设计任务及要求 (1)

二、需求分析 (1)

三、设计思路 (2)

四、详细设计 (3)

五、运行调试与分析讨论 (10)

六、设计体会与小结 (12)

七、参考文献 (13)

、课程设计任务及要求

1)任务:1、万年历是一个强大的日历系统,通过它可以实现对过去, 现在以及将来日期的查找, 通过在年份对话框中输入要查询的年份,再相应的在月

份对应的下拉菜单选择要查询的月份,则可得到相应的日历。本实验

是对图形用户界面,布局管理器的综合运用,理解JAVA的时间处理

机制,编写独立运行的窗口。

2)要求:1. 使用图形用户界面。

2. 本程序能够实现任意年份月份的查询。

二、需求分析

1). 随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java 语言之后,我决定使用Java 语言编写一个简单的万年历,可以实现查询日期和显示时间的功能,满足日常基本的工作学习和娱乐需要。

1) 总天数的算法:首先用if 语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。

2 ) 输出月份第一天为星期几的算法:使总天数除以7 取余加2得几既为星期几,若是7,则为星期日。

3) 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7 得0 换行,即可完整的输出该月的日历。

4) 如果年份小于1582 年则程序不予判断。

1 )流程图:

2)代码:

import java.applet.Applet;

import java.awt.*;

import java.util.*;

public class Cale ndarApplet exte nds Applet{ static final int TOP = 70; // 顶端距离

static final int CELLWIDTH=50,CELLHEIGHT = 30; //单元格尺寸

static final int MARGIN = 5; //边界距离

static final int FEBRUARY = 1;

TextField tfYear = new TextField("2004", 5); //显示年份的文本域

Choice monthChoice = new Choice(); // 月份选择下拉框

Button btUpdate = new Butt on ("查看");// 更新按钮

GregorianCalendar calendar=new GregorianCalendar();日历对象

Font smallFont = new Font("TimesRoman", Font.PLAIN, 15); //显示小字

Font bigFont = new Font("TimesRoman", Font.BOLD, 50); //显示大字体

String days[] = {" 星期日", "星期一", "星期二", "星期三","星期四", "星期五", "星期六"};

String months[] = {" 一月", "二月", "三月", "四月","五月", "六月", "七月", "八月", "九月","十月", "十一月", "十二月"};

int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 每个月的天数

int searchMonth,searchYear; /查/ 询的年份及月份

public void init(){ setBackground(Color.yellow); //设置背景颜色searchMonth = calendar.get(Calendar.MONTH); /得/ 到系统年份searchYear =

calendar.get(Calendar.YEAR); //得到系统月份add(new Label(" 年:")); //增

加组件到Applet tfYear.setText(String.valueOf(searchYear)); 设// 置文本

域文字add(tfYear);

add(new Label(" 月:"));

monthChoice.setFont(smallFont); //设置月份选择下拉框的显示字for (int i

= 0; i < 12; i++) { monthChoice.addItem(months[i]); //增加下拉框选项

}

monthChoice.select(searchMonth); /设/ 置下拉框当前选择项

add(monthChoice);

add(btUpdate);

int componentCount=this.getComponentCount(); /得/ 到Applet 中的组件数量

for (int i=0;i

}

}

public void paint(Graphics g){

FontMetrics fontMetric; // 显示字体的FontMetrics 对象

int fontAscent;

int dayPos;

int totalWidth, totalHeight; // 总的宽度,高度

int numRows; //行数

int xNum, yNum; //水平和垂直方向单元格数量

int numDays;

String dayStr; //显示天数字符串

int margin;

g.setColor(Color.lightGray); //设置当前颜色g.setFont(bigFont); //设置当前

使用字体

g.drawStri ng(searchYea 叶年",60,TOP+70); 〃绘制字符串

g.drawString((searchMonth+1)+"月",200,TOP+130);

g.setColor(Color.black);

g.setFont(smallFont);

fontMetric = g.getFontMetrics(); //获取变量初值

fontAscent = fontMetric.getAscent(); dayPos = TOP + fontAscent / 2;

totalWidth = 7 * CELLWIDTH; //得到总的表格宽度for (int i = 0; i < 7; i++)

{ g.drawString(days[i],

(CELLWIDTH-fontMetric.stringWidth(days[i]))/2 + i*CELLWIDTH,dayPos-20); //绘制表格标题栏

}

numRows = getNumberRows(searchYear,searchMonth); //计算需要的行的数量

totalHeight = numRows * CELLHEIGHT; // 得到总的表格高度

for (int i = 0; i <= totalWidth; i += CELLWIDTH) { g.drawLine(i, TOP , i, TOP+ totalHeight); // 绘制表格线

}

for (int i = 0, j = TOP ; i <= numRows; i++, j += CELLHEIGHT)

{ g.drawLine(0, j, totalWidth, j); // 绘制表格线

}

xNum = (getFirstDayOfMonth(searchYear, searchMonth) + 1) * CELLWIDTH - MARGIN;

yNum = TOP + MARGIN + fontAscent;

numDays = daysInMonth[searchMonth] +

((calendar.isLeapYear(searchYear) && (searchMonth == FEBRUARY)) ? 1 : 0);

for (int day = 1; day <= numDays; day++) { dayStr = Integer.toString(day);

g.drawString(dayStr, xNum - fontMetric.stringWidth(dayStr), yNum); //绘制字符串

xNum += CELLWIDTH;

if (xNum > totalWidth) {

xNum = CELLWIDTH - MARGIN;

yNum += CELLHEIGHT;

}

}

public boolean action(Event e, Object o){

int searchYearInt;

if (e.target==btUpdate){

searchMonth = monthChoice.getSelectedIndex(); // 得到查询月份

searchYearInt = Integer.parseInt(tfYear.getText(), 10); //得到查询年份

if (searchYearInt > 1581)

{ searchYear =

searchYearInt;

} repaint(); // 重绘屏幕return true;

} return false;

}

private int getNumberRows(int year, int month) { //得到行数量int firstDay;

int numCells;

if (year < 1582) { //年份小于1582年,则返回-1 return (-1);

} if ((month < 0) || (month > 11)) { return (-1);

}

firstDay = getFirstDayOfMonth(year, month); // 计算月份的第一天

if ((month == FEBRUARY) && (firstDay == 0)

&& !calendar.isLeapYear(year)) {

return 4;

}

numCells = firstDay + daysInMonth[month];

if ((month == FEBRUARY) && (calendar.isLeapYear(year))) { numCells++;

}

return ((numCells <= 35) ? 5 : 6); //返回行数

}

private int getFirstDayOfMonth(int year, int month) { // 得到每月的第一天int firstDay;

int i;

if (year < 1582) { //年份小于1582 年,返回-1 return (-1);

}

if ((month < 0) || (month > 11)) { // 月份数错误,返回-1 return (-1);

}

firstDay = getFirstDayOfYear(year); //得到每年的第一天

for (i = 0; i < month; i++) { firstDay += daysInMonth[i]; // 计算每月的第一天}

if ((month > FEBRUARY) && calendar.isLeapYear(year)) { firstDay++;

efum

(firsfDay

%

7=

private

inf

gefFi 「sfDayofyear(inf

yeaw

斗w

a ^s M

inf

-eapYears 八

inf

hundreds 八 inf

fourHundreds

in

二「

sc

- 宀二&>书序宁B 1

efum

(二)八二岚回二

-eapYears H

(year 二

581)、

4

hundreds

H

(year

52

)

00

-eapYears —H hundreds

fourHundreds H

(year

-

122

)、

400

-

eapYears +H fourHundreds

f i 「s

ll 5

+

(year -1582) + -eapYears % 7

八注?

a

^M

「efum

fi 「

sc

五、运行调试与分析讨论

(小府用CalendarApplerclass

, 口

「小应用程序

年:2013|

月:一月 T 查看

已倉动小应用程玮「

2 )月份下拉菜单:

[全I 小应用耳序楚書毒CalendarAppletchs^ I = I 回 小应用程序

13 14 20 21 27

28

1 0

15 22 29

2013 月:

=

4 5 1

11 12 18 19

25

26

'期五星期六

月月月月月月月月

三一四五六七八九

3)年份框输入2015,月份选择3,点击查看: 曰小应冃谟孚童#H Calends ^Applet, class <1 ■■应用程序

六、设计体会与小结

JAVA课程基础内容掌握并不是很抓实,而对于设计一个万年历程序,由于其功能简单设计也相对较易,对于我个人的学习情况比较合适,并且通过设计这样的一个日历小组件,也能使自己对JAVA的一些基础知识掌握的更加牢固。

对于本程序的设计也有了新的看法,首先考虑其功能有哪些,需要显示什么,如何进行窗体构建布局,需要用哪些知识点,如相关的类和对象等。最后,就是根据初步设计的功能和布局构架,考虑用源代码进行实现了。

通过这次课程设计,我明白了编写程序,不仅要求对课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力。还要熟悉常用的编程技巧和编程思想,不能只关心程序的运行结果,更要注重程序代码的结构,编程者更要有严谨地态度,不能马虎了事。

七、参考文献

(1)《java 语言实用教程》第二版丁凡振北京邮电大学出版社

java课程设计报告书

《Java程序设计》课程设计报告2015—2016学年第二学期 设计题目:《数字连连看》 学生:黄杰 学号: 2 专业班级:软件工程1402 指导教师:国权 2016 年7 月2 日

目录 1.JAVA程序设计书 3 1.1《简易连连看》 3 1.1.1具体要求 3 1.2本系统设计的知识点 3 2.功能设计 3 2.1算法设计 3 2.2部分模块流程图 4 3.代码设计 5 4.界面及运行效果,测试工具与测试效果14 5.设计总结 16 5.1.程序调试情况:16 5.2.本人在程序设计中感想: 16 6.致 16 主要参考文献16

: 1.1Java程序课程设计任务书 1.1《简易连连看游戏》 本程序基本实现了小游戏连连看的功能,玩家找出游戏中2个相同图案的方块,如果它们之间的连接线不多于3根直线,则将其连接起来,就可以成功将图案相同的方块消除,否则不会消失,当游戏中已没有满足条件的图案时,点击重列,可重新排序,游戏结束会跳出所得分数,该游戏的特点是与自己竞争,超过自己之前所创纪录。 1.1.1具体要求(包括技术要求等): <1>. 该游戏界面为方格类型,由纵6横7的直线平行垂直交叉组成,分别是6行5列方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要至少两两相同,位置随机打乱。 <2>. 当将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则无效,若连接一对成功就消失于界面,继续游戏,直到游戏结束,并能返回所得分数。 <3>. 重列按钮(帮助)的功能:游戏过程中,遇到困难难以寻找下一符合要求的一对数字,可按左下按钮重置重新排列方可继续游戏。 <4>. 退出按钮:击左下方的“退出游戏”按钮,即可结束游戏。 1.2本系统涉及的知识点: 循环,javaGUI组件,函数,数组,分支等 2.功能设计 2.1算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

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开发中介房屋管理系统 房屋中介行业是房地产业的重要组成部分,其在房地产为经济运作的全过程之中起着至关重要的作用,为房地产业的生产、流通和消费提供了多元化的中介服务。房屋中介行业做一个管理房屋信息的石景山区,其对信息的管理应该准确,无误。学生能够利用学过的软件开发的设计思想,编程的知识和技术,设计与实现一款房屋中介管理的软件,能够提高中介机构的工作效率。 房产中介管理系统设计并实现了对出租,出售房屋信息的管理,对求租求购客户信息,需求的记录,并及时提供准确的信息,其

中主要内容包括如下:对房屋信息管理,对客户信息管理,发布相关房屋信息,后台数据管理等功能模块 基于JAVA开发抽奖系统 在诸多企事业单位的各种庆典、宴会等活动中,为活跃现场气氛穿插了许多抽奖过程。电子抽奖即是摆脱了传统人工收集名片或抽奖券而进行人手抽奖的繁杂程序,节约各种资源,而采用电脑智能电子抽奖的方式。 电子抽奖的优点:1.简便、高效、时尚、环保 2.公开、公平、公正3.有趣、互动、添气氛4.提升专业、领先的企业形象本抽奖软件需要多个用户注册使用,并能够大量存储客户的详细信息,为了保证提交的公平性,软件在随机及智能处理应优化算法。 基于JAVA开发选课系统 随着教育改革的不断深化,建立一套能够适应这些改变的行政管理方案也就显得尤为重要。在高等院校的日常工作中,每个学期都要面临学生的选课工作。以往在选课工作的各个阶段都是手工操作,不但效率低下、工作繁琐,而且容易出错,于是开发一套适合校情的网上选课系统便成为了教务处的迫切需求。 本设计是根据部分学校的实际情况,JAVA语言和相关数据库等技术开发了网上在线选课系统。在设计中完成了院系、专业、

JAVA课程设计学籍管理系统

课程设计任务书题目:学籍管理系统 组员 学号 组员 学号 组员 学号 专业 课程JAVA 指导教师 完成时间:2011年9月——2011年12月 计算机科学系制

课程设计任务书及成绩评定

本学籍管理系统共有6个java源文件。类之间的主要关系如图所示。 该java文件的类负责创建学籍管理系统主窗口。该类含有main方法,程序从该类开始执行。 该文件的类负责创建学籍管理系统的学生信息录入界面。 该文件的类负责创建学籍管理系统的学生信息修改界面。 该文件的类负责创建学籍管理系统的学生信息查询界面。 该文件的类负责创建学籍管理系统的学生信息删除界面。 负责创建存放学生信息的对象。 1.具体设计 1.1主类StudentManager 1.成员变量(见下表) 主要成员变量(属性) 成员变量描述变量类型名称 基本信息录入界面StudentSituation 基本信息录入 基本信息修改界面ModifySituation 基本信息修改 基本信息查询界面Inquest 基本信息查询 基本信息删除界面Delete 基本信息删除 菜单选项JmenuItem 录入,修改,查询,删除存放基本信息的散列表Hashtable 基本信息 存放散列表的文件File file 2.方法(见下表) 主要方法 名称功能备注 StudentManager 创建程序主窗口构造方法actionPerformed 处理ActionEvent事件接口方法 main 程序开始运行 3.代码 import .*; import .*;

import .*; public class StudentManager extends JFrame implements ActionListener { StudentSituation 基本信息录入=null; ddActionListener(this); 修改.addActionListener(this); 查询.addActionListener(this); 删除.addActionListener(this); card=new CardLayout(); con=getContentPane(); pCenter=new JPanel(); (card); file=new File("基本信息.txt"); if(!()) { try{ FileOutputStream out=new FileOutputStream(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); (基本信息); (); (); } catch(IOException e) { } } 基本信息录入=new StudentSituation(file); 基本信息修改=new ModifySituation(file); 基本信息查询=new Inquest(this,file); 基本信息删除=new Delete(file); ("欢迎语界面",label); ("录入界面",基本信息录入); ("修改界面",基本信息修改); ("删除界面",基本信息删除); (pCenter,; (); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { (0); } }); setVisible(true); setBounds(100,50,420,380); validate(); } public void actionPerformed(ActionEvent e) { if()==录入) { (pCenter,"录入界面"); } else if()==修改) { (pCenter,"修改界面"); } else if()==查询) { etVisible(true); }

Java课程设计报告模板

Java课程设计报告 模板

浙江科技学院 《Java程序设计》课程设计报告 设计题目:学生信息管理系统 姓名:邱焕明 学号: 所属院系:信息学院 专业:软件工程 小组成员:邱焕明 设计时间: -1-6 指导教师:虞建东

一、课程设计目的 (1)实验目的:结合开发的系统,给出学生信息管理系统 二、课程设计完成的任务 三、设计过程 (一)需求分析 1、基础资料管理 基础资料管理包括对院系、班级和学期的设置。该模块可实现以下功能: 添加、修改、删除和显示院系代码、院系名称和电话号码。 添加、修改、删除和显示班级代码、班级名称、学生人数和所属院系名。 添加、修改、删除和显示学期代码、学期名称。 2、学生信息管理 学生信息管理包括对学生档案和学籍的管理。该模块可实现以下功能: 添加、修改、查询和显示学生的基本信息、所属班级和院系。 记录学生学籍、学生离校信息和学生调动信息。 3、课程信息管理 课程信息管理包括对课程设置和班级选课的管理。该模块可实

现以下功能: 添加、修改、删除和显示课程代码、课程名称、学分和院系名称。 添加、删除和提交班级所选课程。 4、成绩信息管理 成绩信息管理包括对成绩录入和成绩分析的管理。该模块可实现以下功能: 录入班级课程成绩,以不同形式(列表统计、图表分析)显示班级课程成绩。 (二)系统设计概念、流程初定义 1、实体名:院系 2、实体名:班级 3、实体名:学生 4、实体名:课程 (三)系统内容规划 1、班级信息表 表3-1 班级信息表 2、课程信息表 表3-2 课程信息表

(四)系统总体设计 内 (五)系统详细设计 (六)系统测试 列名 数据类型 长度 备注 课程代码 char 10 主键 课程名称 varchar 50 无 学 分 tinyint 1 无 所属院系 varchar 50 无

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.添加当日行事历,储存与清除功能

万年历系统

程序实践报告 万年历系统的设计 专业 学生姓名 班级 学号 指导教师 起止日期

系统万年历的设计 目录 1课程设计目的及要求 (1) 1.1课程设计目的 (1) 1.2课程设计要求 (1) 2课题总体设计 (1) 2.1 系统需求分析 (1) 2.2系统功能描述 (1) 2.3系统功能模块图 (2) 2.4系统流程图 (2) 3课题总体设计 (3) 3.1 概念设计 (3) 3.2 逻辑设计 (3) 3.3 物理设计 (3) 4详细设计 (3) 4.1 leap()模块设计 (3) 4.2 show()模块设计 (5) 4.3 主函数main()模块设计 (6) 5调试与测试 (6) 6小结 (10) 参考文献 (11) 附录 (12) 附录1 源程序清单 (12)

程序实践报告(2010) 万年历系统的设计 1 课程设计目的及要求 1.1 课程设计目的 1、巩固并加深对C语言程序设计知识的理解; 2、掌握和提高C语言编程和程序的基本调试的基本技能; 3、进一步理解和运用结构化程序的思想和方法; 4、提高运用C语言解决实际问题的能力; 5、初步掌握开发小型实用软件的基本方法; 6、掌握书写程序设计开发文档的能力。 1.2课程设计要求 1、根据分组情况对规定的课程设计题目要求进行分析、设计; 2、利用Turbo C 独立编写程序代码,并调试程序使其能正确运行; 3、源程序要有适当的注释,使程序容易阅读; 4、设计完成的软件要便于操作和实用,至少采用文本菜单界面鼓励学生自动增加 新功能模块; 5、完成并提交课程设计报告,具体要求见相关说明文档。 2课题总体设计 1.、当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的星期几); 2、当系统日期变到下一个月时,系统自动翻页到下一月。 2.1 系统需求分析 a. 使用图形用户界面; b.本程序能过模仿现实生活中的挂历。 2.2系统功能描述 1)当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的星期几); 2)当系统日期变到下一个月时,系统自动翻页到下一月。

Java课程设计报告

湖北大学 本科课程设计 题目 ATM 自助机模拟程序姓名 学号 专业年级 指导教师 职称

目录 第一章系统描述 (2) 1 前言 (2) 2 系统功能需求 (2) 第二章系统分析与设计 (3) 1 功能模块划分 (3) 2 功能模块的描述 (3) 3 系统设计流程图 (4) 4 测试数据及期望结果 (6) 第三章系统详细设计 (7) 1 主界面开发设计 (7) 2 功能选择界面开发设计 (7) 3 取款界面开发设计 (7) 4 存款界面开发设计 (8) 5 转账界面开发设计 (8) 6 查询界面开发设计 (9) 7 修改密码界面开发设计 (9) 8 界面开发设计使用函数 (9) 第四章系统测试 (11) 第五章源程序部分清单 (21) 第六章实验心得 (30) 参考文献 (31)

第一章系统描述 1 前言 Java技术是一门简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言,它也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。Java编程语言与众不同之处在于:Java程序既是编译型的,又是解释型的。 Java平台是一种纯软件平台,它有三个版本Java SE、Java EE、Java ME。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 本课程设计采用Eclipse作为开发工具,并采用Window Builder下的SWT Designer来实现相应的功能。着重通过模拟实现当前非常快捷又使用的ATM机来加深对java开发设计的了解,从而进一步提高自己对java图像界面的设计及相关知识的认识。 2 系统功能需求 当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM 柜员机系统,用户可以按照以下规则进行: (1)查询余额:初始余额为10000元。 (2)ATM取款:每次取款金额为100的倍数,一次取款不能超过1000,总额不 超过5000元,支取金额不允许透支,有快捷取款和用户自定义取款。 (3)ATM存款:每次存款金额为100的倍数,一次存款不能超过1000,不能出 现负存款。 (4)ATM转账:只有在两次输入账号相同且输入转账金额正确的情况下才允许 转账,不允许透支。 (5)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只 有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

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.功能模块图

电子万年历的设计与实现

毕业设计(论文)任务书 题目:电子万年历的设计与实现 任务与要求: 设计一以单片机为核心控制的万年历,具有多项显示和控制功能。要求:准确计 时,以数字形式显示当前年月日、星期、时间; 具有年月日、星期、时间的设置和调整功能;自行设计所需直流电源 时间: 2010年9 月 27 日至 2010 年 11 月 23 日共 8 周 所属系部:电子工程系

摘要 随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。 而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢迎。LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。 关键词:单片机;万年历 1

目录 1 概述 (5) 1.1单片机原理及应用简介 (5) 1.2系统硬件设计 (6) 1.3结构原理与比较.............................. 错误!未定义书签。2系统总体方案及硬件设计......................... 错误!未定义书签。 2.1系统总体方案................................ 错误!未定义书签。 2.2硬件电路的总体框图设计 (12) 2.3硬件电路原理图设计 (12) 3软件设计 (13) 3.1主程序流程图 (13) 3.2显示模块流程图 (14) 4P ROTEUS软件仿真 (15) 4.1仿真过程 (15) 4.2仿真结果 (16) 5课程设计体会 (17) 参考文献 (18) 附录:源程序代码附 (18) 结束语 (25) 2

JAVA课程设计任务书 - 科学计算器

《高级语言程序设计(2)》课程设计报告 专业:班级:学号:姓名: 完成日期: 指导教师: 1、程序设计说明书 【设计题目】科学计算器 【问题描述】本程序为设计一个科学计算器,用于进行数值计算。可以进行数据的加减乘除,对数等计算。 【软件功能】 1 图形界面:应用AWT和Swing设计工作界面,按下数字时显示数字,按下“=”时显示结果。 2 计算器基本功能:加减乘除四则运算,倒数,开平方等。 3 附加运算功能:三角函数,对数,阶乘,度转化为弧度等。 4 计算器的存储功能:清除中间结果,使用中间结果,存储中间结果及累加中间结果 5 用不同颜色进行分区 【算法思想】 本程序设计一个主类和四个内部类。通过在主类中调用四个类来实现程序的各个功能。 【类的设计】 1主类SmartCalculator类,继承了JFrame类 ○1成员变量 tf是JTextField对象,单行文本框,用来显示数据。 panel1,panel2,panel3,panel4是JPanel对象,用来盛放按钮。Panel1盛放“←”,“CE”,“C”按钮,Panel2盛放功能区按钮,Panel3盛放记忆区按钮,Panel4盛放面板Panel1和Panel2 isResult,flag是布尔型变量 result是double型变量,存储结果 SpecialNumActionListener是SpecialNum类的对象,监听特殊数字按钮 df是DecimalFormat类的对象,控制输出格式 ○2方法 SmartCauculator是构造方法,完成面板的布局并调用init方法 init方法调用addButton方法向面板中增加按钮 addButtion方法统一设置按钮的使用方式,参数包括panel,name,action,color,每次完成向面板添加按钮,设置名字,添加键盘监听器和设置按钮颜色 getResult方法实现四则运算,并输出 main方法,程序入口 2内部类FunctionSigns,继承接口ActionListener,实现接口的actionProform抽象方法,完成开平方,求对数等操作 3内部类ClearArea,继承接口ActionListener,实现接口的actionProform抽象方法,对清除区三个按钮“←”,“CE”,“C”进行监听,实现删除功能。 4内部类SpecialNum,继承接口ActionListener,实现接口的actionProform抽象方法,对π,e,及数字键监听 5 Dot对小数点进行监听 【用户界面】

java课程设计报告书

《Java程序设计》课程设计报告 2015—2016学年第二学期 设计题目:《数字连连看》 学生:黄杰 学号: 2 专业班级:软件工程1402 指导教师:国权 2016 年 7 月 2 日 目录 1.JAVA程序设计书 3 1.1《简易连连看》3 1.1.1具体要求 3 1.2本系统设计的知识点 3

2.功能设计 3 2.1算法设计 3 2.2部分模块流程图 4 3.代码设计 5 4.界面及运行效果,测试工具与测试效果14 5.设计总结 16 5.1.程序调试情况:16 5.2.本人在程序设计中感想: 16 6.致 16 主要参考文献16

: 1.1Java程序课程设计任务书 1.1《简易连连看游戏》 本程序基本实现了小游戏连连看的功能,玩家找出游戏中2个相同图案的方块,如果它们之间的连接线不多于3根直线,则将其连接起来,就可以成功将图案相同的方块消除,否则不会消失,当游戏中已没有满足条件的图案时,点击重列,可重新排序,游戏结束会跳出所得分数,该游戏的特点是与自己竞争,超过自己之前所创纪录。 1.1.1具体要求(包括技术要求等): <1>. 该游戏界面为方格类型,由纵6横7的直线平行垂直交叉组成,分别是6行5列方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要至少两两相同,位置随机打乱。 <2>. 当将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则无效,若连接一对成功就消失于界面,继续游戏,直到游戏结束,并能返回所得分数。 <3>. 重列按钮(帮助)的功能:游戏过程中,遇到困难难以寻找下一符合要求的一对数字,可按左下按钮重置重新排列方可继续游戏。 <4>. 退出按钮:击左下方的“退出游戏”按钮,即可结束游戏。 1.2本系统涉及的知识点: 循环,javaGUI组件,函数,数组,分支等 2.功能设计 2.1算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

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课程设计报告书

华东交通大学理工学院课程设计报告书( 2010-- 2011年度第 2 学期) 所属课程名称 Java面向对象程序设计题目设计一个多功能计算器分院电信分院 专业班级 09信管<1>班 学号 20090210450106 蔡炜指导教师黄建华 2011年06月23日

华东交通大学理工学院 课程设计(论文)任务书专业09信管班级 <1>班姓名蔡炜 一、课程设计(论文)题目设计一个多功能计算器 二、课程设计(论文)工作:自 2011 年06 月 13日起至2011年 06 月 23日止。 三、课程设计(论文)的内容要求: 本应用程序继承自框架类(JFrame),此程序使用Frame布局管理器BorderLayout,将单行文本框加入到“North”区域,包含各种按钮的面板Panel p加入到”Center”区域。包含各种按钮的面板Panel p 采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按钮事件监听器。如:Button b=new Button(); b.addActionListener(事件监听器); 事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”1/x”)、清零按钮事件(“C”)。

在事件处理触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。 计算器完成的是一个数学表达式,如:3+2,所以可以采用一个链表(LinkedList类)来存储数字或字符,如3,+,2分别存储在链表中,最后运算时,可以一一取出来进行运算。 学生签名: ( ) 2011 年06 月 23 日 课程设计(论文)评阅意见 评阅人职称 20 年月日

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 面向对象程序设计课程设计》课程设计任务书 学年学期: 2014-2015学年第 1 学期 专业班级: 2014专升本 3 班 指导教师:朱薇 设计时间: 2015.1.12—2014.1.23 学时周数: 20学时/周,共计 40 学时 一、设计目的 通过该课程设计加深学生对面向对象概念、 JAVA 面向对象程序设计思想方法的理解和掌握;使学生熟悉开发一个小型的电子商务项目的基本过程,并能综合运用所学知识,初步应用软件工程方法进行软件开发;增强学生的动手能力。为后续学习和应用打下一定的基础。 二、设计任务及要求 以学过的Java程序设计,web编程基础为工具,完成一个小型电子商务系统的设计开发。要求学生 8-10 人一大组 , 大组中又分为 A,B 组,由 A, B 组分工配合实现前台及后台功能,最后组合成一完整的电子商务系统。详细要求如下: 1、针对给定的业务规划商务模型和商务系统,确定电子商务系统的具体组成部分,写出详细的规划说明书。 2、开发环境: Jsp(JavaBean+Servlet)+Mysql 3、开发一个小型的系统。每组最终提交一个电子商务系统软件和规范的课程设计说明书。 4、每大组设组长两名,(A组,B组)组内成员分工明确、各司其职。

三、设计时间进度安排

四、成绩考核 1、项目评分方法 为更好地体现实训成果,评定学生实训成绩,特制定本评分方法。具体评分细则如下: 项目完成后,应组织同学完成项目评审。评审时,项目经理应根据本小组项目 完成情况,制作PPT介绍本项目,并运行程序,进行演示,同时完成答辩老师 的提问。 根据学生项目的优良情况,评审老师给出项目的等级分。评分有如下等级: A/B/C/D/E/F/G,可根据情况打出A+或者B-等。 A-F 等级系数为:0.9/0.8/0.7/0.6/0.5/0.4/0.3 根据项目组的人数,考评项目的等级,打出学生项目的最后得分。 女口:该项目组等级为A (系数为0.9),项目组共4人,则该小组得分为: 4*100*0.9=360 女口:该项目组等级为D (系数为0.6),项目组共5人,则该小组得分为: 5*100*0.6=300 项目经理根据项目组中每个组员的实际完成情况,打出该组员在项目开发工 作中,所占的工作量比数,如: A完成约25%勺开发工作量,则A同学为25% 项目组中,所有成员开发工作量总和为 100% 根据项目小组中,项目经理打出的工作量比数和项目考核的实际分 数,计算项目组中每位同学的实际得分。若该分高于100分,则按

java课程设计2013级大纲以及设计报告

珠海学院课程教学大纲 课程名称:java程序课程设计 适用专业: 2013级计算机科学与技术 课程类别:专业基础课 制订时间:2014年12月 计算机科学与技术系制

目录 1java程序课程设计教学大纲 2 java程序课程设计说明书 3 java程序课程设计报告(模板) 4 java程序课程设计成绩评定表 java程序课程设计教学大纲 (2011年制订,2014年修订) 一、课程编号: 二、前修课程:java程序设计 三、学分:2学分 四、学时: 32学时 五、课程性质与任务: 1.课程性质:《java程序课程设计》是吉林大学珠海学院计算机科学与技术系为本科生各专业开设的专业实践课。计算机科学与技术系本科生在完成《java 程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《java程序设计》课程中所学的有关知识,通过课程设计增强学生的实践动手能力,提高学生独立分析和解决实际问题的能力。培养学生配合完成任务的能力,为学生毕业后的实际工作打好基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。Java语言的应用十分广泛,例如大型信息系统、通信、网络控制等。java课程设计对增强学生对基础知识的掌握和综合运用是非常必要,对后续许多专业课程的学习和实践训练都具十分重要的意义。 2.课程任务:本课程要求学生在学习了java基础编程的相关技术后,将课本中多个章节的编程技术灵活运用到一些复杂的综合例题中去,使学生了解应用问题

的分析方法和设计解决实际问题的具体过程,掌握应用java进行程序设计的基本规范和技巧,掌握面向对象编程的设计思想,重点掌握java的基本语法规则、输入输出方法、网络编程、多线程编程、小应用程序、数据库编程的综合应用。通过编程掌握调试java程序的基本技巧、模块化应用程序和测试运行复杂应用程序的基本流程。 六、课程教学基本要求提供足够多的程序设计选题,题目应覆盖面较为广泛,部分题目要具有开放性,要求每个学生根据自己的实际情况选择题目,经教师批准后即可进入实际工作阶段。 课程设计结束对每个学生进行验收,要求每个学生提交合格的课程设计报告,还要保证程序能够运行,能够讲清楚自己的工作。老师在检查过程中可针对程序提出问题,学生回答,若程序无法运行得到结果并且具有大量编译错误,而且对程序的内容无法正确解释,则实践老师可以根据实际情况给予评分为不及格,若程序可以运行,但完成的界面以及方法不够完善,则酌情扣分,若程序运行无问题,则提问回答不好的也要相应扣分。课程设计课程集中安排在第十一周。每个同学都要提交初期、中期和最后的文档,提交课程设计报告,要求在规定时间内提交文档。最后验收时,若文档不全,成绩受到一定影响。 七、学时分配表 2011年 12 月8日 java程序课程设计说明书

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;

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