JAVA课程设计指导书for级.docx

上传人:b****4 文档编号:6141522 上传时间:2023-05-09 格式:DOCX 页数:14 大小:681.25KB
下载 相关 举报
JAVA课程设计指导书for级.docx_第1页
第1页 / 共14页
JAVA课程设计指导书for级.docx_第2页
第2页 / 共14页
JAVA课程设计指导书for级.docx_第3页
第3页 / 共14页
JAVA课程设计指导书for级.docx_第4页
第4页 / 共14页
JAVA课程设计指导书for级.docx_第5页
第5页 / 共14页
JAVA课程设计指导书for级.docx_第6页
第6页 / 共14页
JAVA课程设计指导书for级.docx_第7页
第7页 / 共14页
JAVA课程设计指导书for级.docx_第8页
第8页 / 共14页
JAVA课程设计指导书for级.docx_第9页
第9页 / 共14页
JAVA课程设计指导书for级.docx_第10页
第10页 / 共14页
JAVA课程设计指导书for级.docx_第11页
第11页 / 共14页
JAVA课程设计指导书for级.docx_第12页
第12页 / 共14页
JAVA课程设计指导书for级.docx_第13页
第13页 / 共14页
JAVA课程设计指导书for级.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JAVA课程设计指导书for级.docx

《JAVA课程设计指导书for级.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计指导书for级.docx(14页珍藏版)》请在冰点文库上搜索。

JAVA课程设计指导书for级.docx

JAVA课程设计指导书for级

《Java面向对象程序设计》

课程设计指导书

专业:

12软金

(1)班

指导教师:

林江毅

计算机与信息工程学院

2013

12

26

一.目的

本课程是软件工程、信息技术外包专业所开设的一门重要实践课程,主要要求学生掌握Java语言和面向对象在实践中的应用。

本课程设计的目的是使学生在理论学习的基础上,动手编写程序,通过应用所学习的知识,来解决一些实际的问题。

在此基础上,真正理解和掌握Java面向对象程序设计的相关理论,具备程序设计的能力。

二.题目

任选下列两个项目进行,查阅相关文献、了解相关的系统,要求完成规定的各项任务。

(多做将加分)

1.打地鼠

2.虐待鼠标

3.记事本

4.是男人就坚持20秒

5.秒表

6.扑克牌

7.计算器

8.飞镖射击游戏

9.模拟购物窗体

10.挂钟

11.愤怒的小鸟

12.石头剪刀布

13.条状图

14.里程计

15.继承练习

16.绘图程序

17.师生管理

18.自拟题

三.任务完成形式

1.完整的软件系统

最终必须向指导老师提交完整的电子版程序源代码、可执行程序、数据文件以及使用说明文件等。

源代码文件要特别注意编程规范、代码风格,关键代码需有合理的注释,不含任何无用代码;数据文件内要求有一定数量的“真实”数据(如对于记录文件,需要有5条以上记录);使用说明文件的第一行,需要给出设计者的学号、姓名,后面为其它说明。

2.课程设计报告

参照设计报告模板完成设计报告。

四.总体要求

根据所给的实验指导书的要求,从中选择项目,应用所学的知识,完成题目所规定的各项要求。

总体要求如下:

1.程序代码总量不少于500行(其中不包括编译器自动生成的代码),关键代码必须有合理注释。

2.课程设计报告正文字数不少于1000汉字,概念清楚、叙述正确、内容完整、书写规范。

3.课程设计中必须按指导书要求,综合应用所学的网络安全知识解决实际问题,有必要的理论分析,设计要有合理的依据。

独立完成课程设计,不得抄袭他人。

4.功能正确、有一定实用性,鼓励创新。

5.程序界面友好,便于交互。

6.在设计过程中要考虑用户使用的便利,提供一些多样化的选择,比如在算法的安全性和便利方面做出折衷。

7.积极交流与讨论(通过同学、网络等途径)、善于查阅资料、分析与借鉴他人编写的软件和源代码。

五.工作阶段与考核方法

大体上可分成五个阶段:

1.资料查阅准备阶段(15%)

2.分析设计阶段(35%)

3.编程调试阶段(40%)

4.课程设计报告书写阶段(10%)

5.验收阶段

考核方法:

只有程序验收通过后,才能按以下方法核定本次课程设计的总成绩,因未能独立完成设计(尤其是抄袭)或概念不清的同学,总成绩将核定为不及格。

总成绩由以下几个部分决定:

1.考勤、纪律、实验室卫生

2.工作量(代码量、功能多少、难度、经历的曲折)

3.关键技术

4.实用性、创新

5.代码书写规范性(包括注释的质量、详尽程度和明晰性)

6.程序界面、新技术引用、易用性

7.课程设计报告(叙述、书写规范、字数)

8.动手能力、分析问题解决问题能力

9.答辩的情况(答辩时会问关于系统实现和本作品相关的理论知识的问题)

10.在资源共享和互助协作方面的贡献及其体现的能力

六.任务具体要求

一些功能如果有其他的方法实现,也可以不按照指导书的要求。

此外,还可以对常用的安全软件的功能延伸和改进。

1、打地鼠

任务:

打地鼠是一款适合幼儿的游戏,规则如下:

一块田地上有些洞,人物控制一把锤子来敲打从洞里冒头出来的地鼠,打够一定数量的地鼠后会计入下一关,且地鼠冒头的速度会随着关数的增加而越来越快。

你可能需要用到P309页得Timer类来控制地鼠出现的频率

基本要求:

2、虐待鼠标

任务:

鼠标是一个易损器件,损坏的原因往往是因为过量的点击。

请参考P126第四章的例题4.10设计一款程序测试在一分钟内你能点击鼠标多少次,找你的同学来试试看看谁的食指更灵活。

提示:

时间差计算方法

Calendarbegin=Calendar.getInstance();//获取起点时间

Calendarend=Calendar.getInstance();//获取终点时间

longbetween=end.getTimeInMillis()-begin.getTimeInMillis()/1000;//除以1000是为了将毫秒转换成秒

3、记事本、

设计一个JAVA程序模仿记事本(NotePad)的部分功能,界面如下图。

4、是男人就坚持20秒

任务:

是男人就坚持20秒是一款躲避子弹的游戏,你将操控飞机躲避满屏幕的子弹。

P310中的例题9.15Rebound实现的是屏幕上有单个物体的运动,请参考它实现这款游戏。

提示:

注意实现碰撞检测。

5、秒表

利用所学的Java语言知识,完成一个实现秒表功能的GUI程序。

它的GUI界面如下所示:

利用所学的Java语言知识,完成一个实现秒表功能的Application程序。

它的GUI界面如下所示:

  要求该程序能够完成以下功能:

  

(1)在界面上方的文本框中,按照"小时:

分钟:

秒"的顺序实时显示系统时间;

  

(2)当按下界面中间的"CurrentTime:

"按钮时,当前系统时间能够在界面下方的文本框中显示出来。

  提示:

可以通过调用java.util.Data类的方法,获得系统时间。

Data类的接口如下所示,

   publicclassDate{

   //返回当前系统时间的小时值

   publicStringgetHours(){…}

   //返回当前系统时间的分钟值

   publicStringgetMintues(){…}

   //返回当前系统时间的秒钟值

   publicStringgetSeconds(){…}

…}

6、扑克牌

任务:

设计一个Card类代表扑克牌,每张牌都有自己的花色和大小。

创建一个DeskOfCards类保存52张扑克牌,设计洗牌、发一张牌、报告剩余牌数的方法。

创建main方法测试你的程序。

功能要求:

7、计算器

任务:

参考网格布局的实验题TelephoneKeypad界面设计一个计算器。

功能要求:

8、飞镖射击游戏

任务:

参考P187的例题6.5实现一款考虑飞镖重力或者侧风的飞镖游戏

功能要求:

9、模拟购物窗体

参考创建模拟购物结算窗体界面并实现结算功能。

其中使用了内部类和Vector向量。

运行程序后,可输入购买记录,单击“添加”按钮将保存记录到Vector向量中,并可以显示任意一个记录,或按记录号删除记录,并可给出购买物品总额,并可清空所有记录。

如下图:

10、挂钟

任务:

设计一款如下的挂钟

功能要求:

提示:

Calendarcalendar=Calendar.getInstance();//获取当前时间

intyear=calendar.get(Calendar.YEAR);//获取年

intmonth=calendar.get(Calendar.MONTH);//获取月

intday=calendar.get(Calendar.DATE);//获取日

intweekDay=calendar.get((Calendar.DAY_OF_WEEK));

intam_pm=calendar.get(Calendar.AM_PM);

inthour=calendar.get(Calendar.HOUR_OF_DAY);//获取小时

intminute=calendar.get(Calendar.MINUTE);//获取分钟

intsecond=calendar.get(Calendar.SECOND);//获取秒

11、愤怒的小鸟

任务:

愤怒的小鸟是一款“亿人迷”的游戏,据说大家喜欢它的原因在于大家喜欢抛物线胜过直线。

P310例题9.15-9.16是笑脸图片直线运动的例子,请修改它在X轴和Y轴的运动轨迹,将它改成抛物线运动。

功能要求

12、石头剪刀布

任务:

参考第六章的实验题Rock,Paper,Scissors设计并实现一个和计算机交互的剪刀、石头、布游戏。

人和计算机各选择一项,然后决出胜负。

程序必须随机选取一项但不表示出来,然后提示用户选择。

当用户选择后,程序同时显示出计算机和用户的选择并且输出游戏结果。

游戏一直进行直到用户退出为止,并且输出双方输赢次数和总局数。

功能要求

13、条状图

任务:

设计实现一个应用程序,创建一个条状图,用于查看一组JAVA成绩的分布情况。

程序初始化一组0-100的整数,根据整数值进行分类,通过调用fillRect方法绘图。

功能要求

14、里程计

任务:

定义一个叫Odometer(里程计)的类,追踪汽车的燃油与行驶里程之间的关系。

功能要求

(1)类中包含私有成员变量行驶里程(公里)、剩余燃油(升)、燃油效率(升/百公里)。

(2)包含构造函数初始化行驶里程为零,剩余燃油为60,燃油效率任意。

(3)包含成员函数将行驶里程设置为零;包含成员函数设置燃油效率。

(4)包含成员函数设置剩余燃油;成员函数接收一段旅程的长度,将旅程长度添加总到行驶里程中,并根据燃油效率扣减剩余燃油;成员函数返回剩余燃油。

(5)成员函数返回剩余燃油可行驶里程。

(6)输入数据测试Odometer类

15继承练习

编写一个Java程序,除了主类外,该程序中还有4个类People、ChinaPeople、AmericanPeople和BeijingPeople类。

要求如下:

(1)People类含有访问权限为protected、类型为double的成员变量:

height和weight,以及publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法。

(2)ChinaPeople类是People的子类,新增了publicvoidchinaGongfu()方法。

要求chinaPeople重写父类的publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法。

(3)AmericanPeople类是People的子类,新增了publicvoidamericanBoxing()方法。

要求AmericanPeople重写父类的publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法。

(4)BeijingPeople类是ChinaPeople的子类,新增了publicvoidbeijingOpera()方法。

要求ChinaPeople重写父类的publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法。

类的继承关系如下图:

16绘图程序

编写JavaApplication程序,使它在GUI界面中通过响应功能按钮的点击事件绘制各种简单的几何图形(矩形、圆形、扇形、多边形和他们的填充效果),并且能够通过接收传递参数控制图形的绘制。

17师生管理

2、学校中有老师和学生两类人,而在职研究生既是老师又是学生,对学生的管理和对教师的管理在他们身上都有体现。

1)设计两个信息管理接口StudentManageInterface和TeacherManageInterface。

其中,StudentInterface接口包括setFee()方法和getFee()方法,分别用于设置和获取学生的学费;TeacherInterface接口包括setPay()方法和getPay()方法,分别用于设置和获取教师的工资

2)定义一个研究生类Graduate,实现StudentInterface接口和TeacherInterface接口,它定义的成员变量有name(姓名)、sex(性别)、age(年龄)、fee(每学期学费)、pay(月工资)。

3)创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“providealoan”(需要贷款)信息。

提示:

1)定义两个接口,分别在其中申明两个方法。

2)定义主类Graduate,实现这两个接口。

3)定义主类的成员变量,和构造方法。

4)给出四个接口方法的实现。

5)给出一个计算是否需要贷款的方法,在里面统计年收入和学费,并输出是否需要贷款的信息。

6)写main方法。

在其中创建一个姓名为“zhangsan”的研究生,调用计算是否需要贷款的方法。

18、自拟题

任务:

1.利用面向对象的方法对业务进行系统分析;

2.对各个功能模块分析设计抽象并实现对象类,重点是各类的属性和行为,类之间的关系;

3.在类的设计上,尽量自己设计,并采用继承、多态、重载等概念;

功能要求

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2