当前位置:文档之家› Java课程设计指导书

Java课程设计指导书

《Java程序设计》课程设计指导书
吴德编
三江学院
计算机科学与工程学院
二○一六年六月
一、课程设计的目的
在《Java程序设计》课程的基础上,进一步巩固核心知识点,培养分析问题以及综合运用知识点解决问题的能力,增强技术文档写作能力,为Java Web程序设计、Java移动开发等后续课程的学习打下良好的基础。

二、课程设计题目
(一)俄罗斯方块
实现要求:
制作一个简单的俄罗斯方块,拥有7种方块的变换。

游戏可以随时暂停、停止。

游戏还有成绩记录方式。

实现技术:
(1)使用Graphics、Graphics2D完成方块的绘制。

(2)使用多线程的方式控制游戏的执行。

(3)方块的碰撞的逻辑问题。

(二)截屏
实现要求:
模仿QQ中的截屏工具,截取图片后弹出保存对话框保存图片。

实现技术:
(1)使用Robot类截图屏幕图片
(2)覆盖paint函数,绘制截取图形区域
(3)使用ImageIO类保存图片
(三)扫雷游戏
实现要求:
模仿Windows的扫雷,完成扫雷游戏的全部功能。

实现技术:
(1)定制JButton,书写自己的按钮类。

(2)理解重载,运用重载完成游戏初级、中高级游戏功能。

(四)计算器
实现要求:
该计算器模仿Windows自带的计算器,只实现标准型计算器功能。

前期能够独立思考并完成计算器的逻辑代码。

实现技术:
(1)熟练使用JButton、JTextField、JLabel等Swing包中组件。

(2)熟练使用BorderLayout、FlowLayout、BoxLayout、GridLayout等布局。

(3)能够根据需要覆盖paint函数,定制自己需要的组件。

(五)飞鸽传书
实现要求:
模仿飞鸽传书完成飞鸽传书的大部分功能(主要是发送组播信息,传送文件等功能)。

实现技术:
(1)使用DatagramSocket、DatagramPacket传递UDP数据。

(2)使用MulticastSocket发送、接受组播消息。

(3)使用ServerSocket、Socket发送接受文件。

(4)使用DefaultTableModel定制需要的JTable。

使用SystemTray、TrayIcon制作托盘图标。

(六)资源管理器
实现要求:
该项目的目的是练习高级Swing的组件的使用:
为了区别于MS的资源管理器,我们设计成初级Java练习者的java,class,mf文件等资源文件管理器。

功能如下:
设置类路径。

设置扩展路径。

过滤显示*.java,*.class,*.mf,*.jar,*.war,*.ear,*.properties等文件。

能察看编辑保存*.java,*.mf,*.properties等文件。

能编译运行*.class,*.jar文件。

能察看jar,ear,war等文件信息。

实现技术
(1)使用Swing中的复杂组件:JTree、JTable、JTabledPane;
(2)使用反射技术反射已存在的class文件,并获取该文件中的字段、构造方法、方法等信息
(3)读取文件的一些信息及容
(七)简单五子棋
实现要求:
五子棋是一种两人对弈的纯策略型棋类游戏,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜。

功能如下:
(1)绘制棋盘
棋盘是由长宽为15*15的“+”符号绘制形成。

(2)下子
用户执黑子、电脑执白子,其中黑子先下。

在下子时是通过输入坐标来确定所下棋子的位置,用户下黑子时需要通过手动输入X和Y坐标下子,在输入坐标时应注意不能超出棋盘的大小,即X和Y值均不能超出15,否则提示输入非法,需重新输入下子的坐标。

电脑
下子时的坐标是使用随机数生成的,同样下子坐标不能超出15。

(3)判胜负
从横向、纵向、反斜杠和斜杠四方向去判断,任何一个方向的5个黑或白棋连成一条线,则胜利。

产品功能演示:
(八)模拟银行存取业务
实现要求:
编写一个Java应用程序,模拟网上银行登录及存取款业务。

登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型。

操作类型包括四种(存款:1 取款:2 余额:3 退出:0),输入数字1、2时,将进行存取款操作,此时需要输入存取的金额,并进行正确的金额加减计算;输入数字3时,显示当前账户的余额;输入数字0时将退出整个系统。

(九)仿Windows下的记事本功能
实现要求:
记事本的应该具备的功能,基本要求如下:
(1)菜单栏中包含文件、编辑、查看和帮助菜单,具体如图1所示。

图1 菜单栏
(2)文件菜单中具有新建、打开、保存、另存为、打印和退出功能,具体如图2所示。

图2 文件菜单
(3)编辑菜单中具有的功能有撤销、重做、剪切、复制、粘贴、删除、全选以及查找和替换,具体如图3所示。

图3 编辑菜单
(4)查看菜单中具有的功能包括字体、颜色等,具体如图4所示。

图4 编辑菜单
(5)帮助菜单中的“View Help…”可以查看帮助文档,“About Notepad…”可以查看记事本的当前版本。

帮助菜单中具有的功能具体如图5所示。

图5 编辑菜单
图6 About Notepad…
三、课程设计的方法与步骤
课程设计的一般步骤如下:
1.选题与搜集资料
每个课程设计项目都涉及一些新的知识面(老师没有在课堂上讲解的容),在开始设计前,首先要查阅相关资料,学习和掌握项目中涉及的新知识,提高自学能力。

每个课程设计项目都有其相关的设计要求,其中对项目实现的功能做了详细定义。

如果某些知识面掌握的不是很好,可以再返回去重新熟悉与掌握。

2.界面设计
本次课程设计都是图形界面程序,所以在实现程序功能前,可以先完成图形界面设计(建议采用swing组件或第三方swt组件)。

项目图形界面所涉及了容器、组件、布
局知识,在设计图形界面前,可以再回顾下以上知识(建议采用较智能的开发工具如:eclipse、Jbuilder等)。

3.功能实现
每种功能其实就是相应控件的响应事件,所以要根据课程设计要求把各种功能转换成相应组件的响应事件。

如动作事件(ActionEvent)、键盘事件(KeyEvent)、鼠标事件(MouseEvent)、焦点事件(FocusEvent)。

对于比较复杂的功能,先要设计该功能实现的算法和程序流程图,然后再用程序语句去实现。

4.项目测试与扩展
项目程序设计完以后,运行该项目,一一测试所有项目功能,如有不合要求的话,重新修改程序以达到项目要求。

如有时间的话,可以在项目要求的基础上扩展创新一些功能,根据其创新情况可以给予适当的加分。

5.撰写课程设计报告
课程设计报告包括需求分析、界面设计、功能设计与实现、系统测试等容。

6.验收与评分
指导教师对每个小组开发的系统,及每个成员开发的模块进行综合验收,根据课程设计成绩的评定方法,并结合设计报告,评定成绩。

具体如下:
(1)出勤率:10%,缺勤3次及以上,此项成绩为0;
(2)功能实现:40%,根据小组的分工明细分别考核;
(3)答辩情况:30%,此项为小组团体分数;
(4)课程设计报告:20%,团体考核与个人考核相结合。

团体考核侧重于课程设计报告的总体质量,如排版的规性、前后容的一致性、思路的合理性等;个人考核则依据小组分工明细,针对报告的部分章节进行考核。

四、课程设计报告要求
按照以下要求撰写课程设计报告,主要容包括:
1.课程设计的目的与要求。

2.课程设计的题目。

3.对该课题进行需求分析。

4.界面设计。

要求绘制界面设计流程,说明设计思路。

5.功能设计与实现
①功能模块划分。

②各个模块的说明,主要包括功能描述和输入输出接口,以及各模块部流程图。

6.系统测试
①测试用例。

②问题及解决方法。

7.小结
①调试过程中的问题及解决方法。

②程序的不足与改进。

8.参考文献。

注:要求课程设计报告使用统一的封面,见附录1。

三江学院
课程设计说明书(论文) 题目
课程名称
专业
班级
学生姓名
学号
设计地点
指导教师
设计起止时间:年月日至年月日
.
计算机科学与工程学院Word 资料。

相关主题