2011-2012-02_java面向对象程序设计_课程设计指导书_11软件金融服务方向12班

上传人:第*** 文档编号:34038181 上传时间:2018-02-20 格式:DOC 页数:15 大小:544.50KB
返回 下载 相关 举报
2011-2012-02_java面向对象程序设计_课程设计指导书_11软件金融服务方向12班_第1页
第1页 / 共15页
2011-2012-02_java面向对象程序设计_课程设计指导书_11软件金融服务方向12班_第2页
第2页 / 共15页
2011-2012-02_java面向对象程序设计_课程设计指导书_11软件金融服务方向12班_第3页
第3页 / 共15页
2011-2012-02_java面向对象程序设计_课程设计指导书_11软件金融服务方向12班_第4页
第4页 / 共15页
2011-2012-02_java面向对象程序设计_课程设计指导书_11软件金融服务方向12班_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《2011-2012-02_java面向对象程序设计_课程设计指导书_11软件金融服务方向12班》由会员分享,可在线阅读,更多相关《2011-2012-02_java面向对象程序设计_课程设计指导书_11软件金融服务方向12班(15页珍藏版)》请在金锄头文库上搜索。

1、JAVA 面向对象程序设计课 程 设 计 指 导 书姜春艳 编 写适用专业: 软件工程专业 厦 门 理 工 学 院 计 算 机 系 ( 部 )2011 年 6 月1一、课程设计的目的 复习、巩固 Java 语言的基础知识,进一步加深对 Java 语言的理解和掌握; 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力; 培养学生在项目开发中团队合作精神、创新意识及能力。二、课程设计的基本要求课程设计要求每位学生熟练运用 Java 语言,按照面向对象程序设计思想,独立编制一个略具规模、中等

2、难度的应用程序。调试通过并写出课程设计报告,课程设计报告包括题目说明、题意分析、设计目的、设计特点、功能说明、主要功能程序段、运行结果及结果分析、编程经验、设计体会、存在问题及解决方法等。 程序代码总量不少于 500 行(其中不包括编译器自动生成的代码),关键代码必须有合理注释。 课程设计报告正文字数不少于 1000 汉字,概念清楚、叙述正确、内容完整、书写规范。 独立完成课程设计,不得抄袭他人。 功能正确、有一定实用性,鼓励创新。 程序界面友好,便于交互。 积极交流与讨论(通过同学、网络等途径)、善于查阅资料、分析与借鉴他人编写的软件和源代码。 允许学生在给出可供选择题目之外自己选择题目,但

3、要经教师同意; 每个同学选择一个题目,原则上不允许多名同学选择同一个题目。多名同学选择同样题目时,独立完成,程序代码不可相同; 要求每位学生必须在上机前做好充分准备,每次上机必须目的明确,必须事先编写好程序代码,然后在规定的时间和地点上机调试;2 设计要符合选题要求,实现相应功能;可以增加其他功能或修饰,使程序更加完善、合理; 软件设计要实用,编程简练,可用,功能全面,并且所有题目全部要求有GUI 界面; 说明书、流程图要清楚; 课程设计结束后需提交的内容:课程设计报告一份(按格式书写)、源程序文件(采用锯齿型书写格式,包含注释,类名、对象名、变量名、方法名等等的命名要符合规范,采用骆驼拼写法

4、)。备注:坚持每天书写设计日志!三、课程设计的主要任务1、JAVA 基本设计类选题(独立完成)(1) 设计并实现一个扑捉动物的游戏程序。用一幅图表示一个动物,动物必须先随机出现在任何位置并维持一段随机的时间后消失,然后又以同样的方式出现在另一个随机位置上。游戏的目标是,当鼠标指在表示动物的图片上时点击鼠标捕捉动物。创建一个类代表动物,并定义一个方法检测点击鼠标的位置是否与动物当前位置一致。程序最终显示捕捉到动物的次数。(2) 设计并实现一个应用程序,模拟跑表的功能。该程序随着时间的增加一分钟为单位显示时间,并且提供一个按钮允许用户启动或停止计时功能及讲时间显示归零。注意合理布局各组件以提供一个

5、良好的用户界面。提示:使用 Timer 类控制跑表的计时。(3) 设计并实现一个和计算机交互的剪刀、石头、布游戏程序。当两个人玩的时候,每个人要同时选择一项(用手势表示),然后决出胜负。规则为石头赢剪刀、剪刀赢不,布赢石头。程序必须随机选取一项但不表示出来,然后提示用户选择。当用户选择后,程序同时显示出计算机和用户的选择并且打印输出游戏结果。游戏一直进行直到用户退出为止,并且打印输出双方输赢次数及局的次数。3(4) 编写一个温度转换窗口程序,窗体中有一个 JTextField 组件,一个JLabel 组件和一个“转换”按钮,用于将输入的华氏温度可以转换成摄氏温度,或者将输入的摄氏温度转换成华氏

6、温度。设计要求: 界面需要具有背景图案以及背景音乐 可以进行华氏与摄氏温度的相互转换 根据显示的温度,能自动切换窗口背景的图案,如春夏秋冬等图片。(5) 工资额计算器应用程序 某公司需要一个能计算出每位员工在工作一周后的全部薪水的应用程序。每位员工的周薪是根据员工工作的小时数和每小时的工资额来进行计算的。一个标准工作周应该是 40 个小时,而一周之内任何超过 40 个小时的工作时间则被认为是属于“加班”时间,因而员工可获取相当于原工资一半的加班费。开发这样一个应用程序,接收员工工作的小时数和每小时的工资额并最终计算出该员工工作一周后的工资总额。(6) 加密应用程序 某公司利用电话线传输数据,进

7、行传输的数据都是以一个 4 位 int 值作为其传输单位的。因担心电话线可能会被窃听,所以,该公司先要求开发一个针对这种数据进行加密的应用程序,使数据能以更为安全的方式进行传输。所谓加密是指,因安全原因对数据执行的一个转换过程。该应用程序将读取用户在 JTextField 中所输入的一个 4 为整数,之后,通过点击 Encrypt JButton 完成整个的加密过程。要求加密每位数字并显示加密后的结果:对进行加密的每一位数字执行以下运算:将每位数加 7,然后取 10 的模。之后,讲 1,3 位上的数字进行交换,同样,将 2,4 位上的数字也进行交换。最后,分别在相应的 JTextField 中

8、显示出加密后的数字。(注意:一旦数字被加密,还需要对它进行解密。能力允许的话可以考虑编写一个用于数字解密工作的应用程序)。4(7) 一个简单的计算器应用程序 该计算器允许用户向作为输入的 JTextField中输入两个数。另外,有四个分别标记为+,-,/和 *的 JButton。每当用户点击这些分别标记为+(加法),-(减法),/(除法)和 *(乘法)的JButton 时,应用程序会使用来自输入 Enter first number:JTextField 和 Enter second number:JTextField 中的这两个数,并执行相应的计算,最后将所得到的结果显示在作为输出的 res

9、ult:JTextField 中。(8) 门禁系统应用程序 某制药公司希望在配有设备的实验室外安装一套门禁系统。只有得到授权并取得保护密码的人员才允许进入该实验室。以下便是一些有效的保护密码(也成为访问码)及所代表的雇员小组:保护密码 雇员小组1645 技术员8345 管理员9998,10061008 科学家当输入保护密码时,应是该保护密码对任何可能站在门禁系统旁边的人员都是不可见的。而所输入的每一个保护密码,其请求要么是被允许要么是被拒绝。所有试图进入实验室的请求都将显示在位于小键盘下侧的一个屏幕当中。即如果请求被允许,则相应的日期、时间及其所属的小组名称(科学家、管理员、技术员等等)均会显

10、示在屏幕当中;如果请求被拒绝,则相应的日期、时间以及一条信息“Access Denied”也会显示在屏幕当中。此外,任何雇员还可以通过输入访问码 7,8 或 9 来寻求安检员的帮助,并且在上述访问码输入完后屏幕中会显示相应的日期、时间以及一条消息“Restricted Access”,表示已收到该请求。提示:通过 JPasswordField 隐藏用户的输入,通过 getPassword 方法取得用户在JPasswordField 中的输入,利用 DateFormat.getDateTimeInstance 方法取得一个用以显示日期和时间的 DateFormat。将 new Date()传递给

11、 DateFormat 的 format方法,可获得包含格式化的日期和时间的 String。(9) 掷骰子游戏应用程序 创建一个用于模拟掷骰子游戏的应用程序。此游戏中,游戏者将滚动两个骰子。每一个骰子有六个面,分别代表 1,2,3,4,5,6这六个点。当骰子停下以后,计算着两个骰子上表面的点数和。如果第一轮投掷的骰子的点数和等于 7 或 11,则游戏者获胜;如果第一轮投掷的点数和等译 2,3,或 12,则游戏者失败(庄家胜);而如果点数和等译 4,5,6,8,95或 10,则该值将算作游戏者的“点数”。游戏者要想最终取胜,必须连续滚动骰子直到再次掷出他的点数,但是若在他滚动到其点数之前掷出 7

12、 点,则他也将输掉本次游戏。(10) 乘法训练器应用程序 开发一个用以帮助小学生学习乘法运算的应用程序。通过将随机产生的两个 1 位正整数显示在某个问题当中,如问题:“How much is6 times 7?”(6 乘以 7 等于多少?),然后让学生将此问题的答案输入到一个 JTextField 中。若答案正确,该应用程序会随机地从 3 条信息中(“Very Good!” ,“Excellent !”,“Great Job !”)选出一条信息并显示在一个 JLabel 中,然后继续下一道问题;如果答案错误,则在该 JLabel 中显示信息“No,Please try again!”。(11)

13、 国旗知识测评应用程序 某地理老师想测试一下学生对不同国家国旗知识的了解情况,因此,设想开发一个应用程序显示不同国家的国旗并允许学生从列表中选出与国旗相对应的国家名。之后,应用程序会告知该答案是否正确并继续显示下一面国旗。此应用程序将从澳大利亚、巴西、中国、意大利、俄罗斯、南非、西班牙、美国这 8 个国家的国旗中随机地挑选出5 面国旗来进行显示。当应用程序执行时,所有国旗只能显示一次。(尽量使用数组)。(12) 文本统计 设计并实现一个文本统计工具。该工具是一个多行文本框(JTextArea),设计一个按钮统计多行文本框中的单词数,单词平均长度,每次重新按下按钮则重新统计。统计效果图(13)

14、打地鼠 打地鼠是一款适合幼儿的游戏,规则如下:一块田地上有些洞,人物控制一把锤子来敲打从洞里冒头出来的地鼠,打够一定数量的地鼠后6会计入下一关,且地鼠冒头的速度会随着关数的增加而越来越快。你可能需要用到 P319 页得 Timer 类来控制地鼠出现的频率。(14) 愤怒的小鸟 愤怒的小鸟是一款“亿人迷”的游戏,据说大家喜欢它的原因在于大家喜欢抛物线胜过直线。课本中例题 8.15-8.16 是笑脸图片直线运动的例子,请修改它的运动轨迹,将它改成抛物线运动。7(15) 是男人就坚持 20 秒 是男人就坚持 20 秒是一款躲避子弹的游戏,你将操控飞机躲避满屏幕的子弹。实验八中的 Rebound Re

15、visited 实现的是屏幕上有两个物体在运动,请参考它实现这款游戏。注意实现碰撞检测。(16) 条状图 设计实现一个应用程序,创建一个条状图,用于查看一组分数的分布情况。程序初始化一组 0-100 的整数,根据整数值进行分类,通过调用 fillRect 方法绘图。8(17) 虐待鼠标任务:鼠标是一个易损器件,损坏的原因往往是因为过量的点击。请参考第四章的例题 4.10 设计一款程序测试在一分钟内你能点击鼠标多少次,找你的同学来试试看看谁的食指更灵活。提示:时间差计算方法Calendar begin=Calendar.getInstance(); /获取起点时间Calendar end = C

16、alendar.getInstance(); /获取终点时间long between=end.getTimeInMillis() - begin.getTimeInMillis()/1000; /除以 1000 是为了将毫秒转换成秒(18) 手机号码检测器任务:手机号码是由 11 位数字构成,用户在输入手机号码时经常混乱输入若干位数字或字母,要求你编写一个程序检测用户所输入的手机号码是否符合规则。功能要求:检测所输入的手机号码是否是 11 位检测每一位是否都为数字。(19) 扑克牌任务:设计一个 Card 类代表扑克牌,每张牌都有自己的花色和大小。创建一个DeskOfCards 类保存 52 张扑克牌,设计洗牌、发一张牌、报告剩余牌数的方法。创建 main 方法测试你的程序。(20) 视频播放器9任务:参考第十章的例题 10.11 和 9.16 用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号