《面向对象程序设计》课程设计选题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、课程设计报告要求:
1、不少于5000字,使用A4打印。
2、主要内容及装订顺序:封面、目录、正文、参考文献
3、正文部分应该包括:需求分析、系统概述、系统运行环境、功能需求描述、总体设计、系统模块结构图、数据库设计(如需数据库,应包含概念设计、逻辑设计、物理设计)、程序模块设计(含功能描述、用户界面设计、程序代码设计与分析、运行结果,每个人可选择2-3个模块进行)、系统使用说明。
4、界面要求:
1). 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。
2). 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。
5、其他要求:
1). 标识符命名遵循Windows命名规范。
2). 能够注意各种异常处理,注重提高程序运行效率。
二、课程设计需要提交的内容:
1、装订完整的课程设计报告,每人上交一份课程设计报告。
2、程序和课程设计报告压缩后放到BB讨论板
1、一个简单的算法演示程序
1. 选择一个算法(提供选择见下),利用各种方法(图形、动画等)演示算法的演示
过程。
2. 可以进行手动演示,也可以自动步进式演示。
3. 允许用户设置算法的各个输入参数,以及自动步进式演示中的时间间隔。
4. 不同的算法输入要求见下。
2、一个简单的网络聊天程序
1. 实现类似QQ的功能,自动侦测局域网内部启动该软件的用户,并显示在用户列表中。
2. 可以进行两个人之间的私聊。
3. 可以群聊。
4. 可以发送文件。
3、一个简单的万年历
1. 能够显示实现1800-2100年的日期,包括公历、农历、星期、二十四节气。
2. 能够按照月份格式显示,或按照星期格式显示。
3. 能够显示系统时间。
4. 能够查询若干国际大城市(分布在不同时区)的时间。
4、一个计算数学表达式的程序
1. 由用户输入一个简单的四则运算表达式,求出其计算结果后显示。
2. 允许在表达式中出现常用的数学函数,如绝对值、取整、三角函数、倒数、平方根、
平方、立方等。
5、模拟计算器程序
设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’符号后,窗口显示出结果。如果用户输入的表达式不合法,可以判别出来并给出相应的错误提示。
实现提示
可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。
6、实现文件加密合并器(界面):
将几个文件(文本文件或者二进制文件),进行加密处理后,保存在一个文件中,也即类似WinRar的基本功能,但是可以不考虑压缩算法,同时还要实现,反向操作,即给一个综合的合并后的文件,能够查看其中的文件个数、名称、创建时间等信息,同时能够解压缩。
1、需要使用的包为java.io.*;
2、需要使用的类为:DataInputStream,DataOutputStream,BufferedReader,
BufferedInputStreamReader,FileInputStream,FileOutputStream,FileIOException, FileNotFoundException
3、需要注意进行合并后的文件格式处理,在合并后的文件中要增加一些额外信息,为
了文件的解压缩和还原处理
4、文件的加密算法可以使用简单的移位加密,也可以使用更加复杂的加密算法。
要求进行分析,设计类关系图
7、通讯录管理 (界面或字符)
编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。
基本要求
程序应提供的基本基本管理功能有:
1)添加:即增加一个人的记录到通信录中
2)显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。
3)存储:即将通讯录信息保存在一个文件中。
4)装入:即将文件中的信息读入程序。
5)查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。
6)修改:可修改一个人的除姓名外其它信息。
实现提示
程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个类Cperson来实现,作为链表的值指针指向这些Cperson类对象,通过链表的遍历可以操作这些数据。
8、模拟人工洗牌
编写一个模拟人工洗牌的程序,将洗好的牌分别发给四个人。使用类Card 来描述一张牌,用随机函数来模拟人工洗牌的过程,最后将洗好的52张牌顺序分别发给四个人。设计一个洗牌类,负责来洗牌。设计一个玩家类,可以查看每一个玩家s的牌。
9、编写一个会话程序(通过Java的网络功能实现)。(界面或字符)
要求:会话双方可以自由通话,看到对方发来“bye”则退出。
10、电子词典
编写一个具有插入、删除、修改、查询功能英汉、汉英对照的电子词典。(界面或字符)
11、HANNOI-塔
1. 主类
2. Hannoi-塔
3. 塔点
4. 盘子
12、挖雷游戏
1. 主类
2. 方块
3. 雷区
4. 计时器
5. 雷标数目
6. 雷标判断
7. 成片挖开区域
8. 无雷连通区
9. 随机布雷
10. 周围地雷个数
11. 显示剩余雷数
12. 英雄榜录入对话框
13. 显示英雄榜对话框
14. 挖雷成功