面向对象程序设计(Java)
课程设计指导书
(2012 版)
上海电机学院 电子信息学院
王中华
2012 年 3 月
目 录
整体要求及考核办法 ......................................... III
A 类题(自定义格式文件的存取、数据的增删改查)................... 1
题目 A1:拿火柴游戏 ............................................... 1
题目 A2:ATM 模拟程序 .............................................. 1
题目 A3:简单仓库管理系统 ......................................... 1
题目 A4:学生信息管理系统 ......................................... 2
题目 A5:图书信息管理系统 ......................................... 2
题目 A6:个人通讯录系统 ........................................... 2
题目 A7:职工工资管理系统 ......................................... 2
题目 A8:婴儿出生信息管理系统 ..................................... 3
B 类题(图形界面、数据库、接口数据的下载及解析) ................. 4
题目 B1:简单计算器 ............................................... 4
题目 B2:简单的记事本程序 ......................................... 4
题目 B3:模拟电信计费系统 ......................................... 4
题目 B4:基于 MD5 算法的文件指纹提取 ............................... 5
题目 B5:学生录取系统 ............................................. 5
题目 B6:手机号码归属地查询系统 ................................... 6
题目 B7:IP 地址查询系统 ........................................... 6
题目 B8:身份证号码查询系统 ....................................... 6
题目 B9:天气预报查询系统 ......................................... 7
题目 B10:域名 ICP 备案查询系统 .................................... 7
题目 B11:快递状态查询系统 ........................................ 8
题目 B12:敏感词汇分析 ........................................... 10
题目 B13:XML 或 JSON 数据接口的生成 ............................... 10
C 类题(图形界面、特定文件的存取、网络) ....................... 10
题目 C1:MP3 或 MP4 文件基本信息的解析 .............................. 11
题目 C2:随机点名器 .............................................. 11
题目 C3:五子棋 .................................................. 11
题目 C4:幻灯片形式的图片浏览器 .................................. 11
题目 C5:局域网聊天程序 .......................................... 11
I
题目 C6:打字训练测试软件 ........................................ 11
题目 C7:模拟画图 ................................................ 12
题目 C8:模拟时钟 ................................................ 12
II
整体要求及考核办法
建议使用 Eclipse 或 MyEclipse 集成开发环境完成课题,程序的运行界面友好,
代码的可维护性好,有必要的注释和相应的文档。程序如果有多个功能需要实现
时,需要以菜单方式列出所有功能。
根据提交的课程设计报告(包括程序主要完成的功能、设计思路和框图、主
要代码、有何收获,所存在的不足以及需要改进的地方),程序功能的实现(要
求演示)进行考核。
总评成绩=平时(出勤+纪律)10%+程序代码答辩 60%+课程设计报告 30%。
各类题得分的基础区间依次为:A 类[60~75],B 类[76~85],C 类[86~95]。
各类题得分的等级划分:
(1)无课程设计报告,无程序(对于从网上下载的,不能讲解出程序实现
思路或细节的程序,视为无程序),得 0 分。
(2)课程设计报告存在明显的从网上复制现象,有严重的拼凑痕迹,格式
混乱;程序不能运行,或运行结果明显不正确,或答辩时无法讲解清楚程序思路,
或者不能回答出老师提问的程序细节,不及格。
(3)课程设计报告描述基本清晰,格式基本规范;实现了程序的主要功能,
标识符名字符合驼峰命名法规定,及格。
(4)课程设计报告描述清晰准确,格式规范;实现了程序的所有功能,良
好。
(5)课程设计报告描述清晰严谨,格式细致规范,深入分析了自己进行实
验的体会感想;程序实现了全部功能,功能完善,并有一定程度的创新,优秀。
关于几种跨档给分情况的说明:
① 所选题目在同档题目中相对较难,得分等级为优秀,且最好有一定特色
(比如在 Android 环境下完成课题),提档给分;
② 如果程序实现和课设报告的质量不匹配,按质量较差的材料降档给分,
直至不及格;
③ C 类题如果完成质量很好,可以酌情给予 95 以上的分数,甚至满分;
④ 任务没有完成时,无故缺勤达到 1/3 课时的,该门课程直接记为取消考
试资格;
抽签规则:
根据 C 语言期末考试的分数,由低分向高分的顺序抽签,每个题最多只有两
个人抽到。如果两个同学做的是同一个题,则必须尽可能地采用不同的方法来实
现程序。
III
Java 课程设计指导书
1
A 类题(自定义格式文件的存取、数据的增删改查)
A 类题的基本要求:
① 掌握 Java 语言应用程序的编写;
② 掌握简单结构数据的文件存取(自定义文件格式);
③ 掌握简单信息管理系统数据增、删、改、查功能的实现方法;
④ A 类题所规定的功能如能全部完成,则程序得分一般处于 60~75 分,如
果主要功能未能实现,则直接判定为不及格;如果课题实现时采用了 GUI 图形界
面,并且主要的数据存储采用了数据库,则可以根据程序难度和编码质量酌情给
予 B 类题的分数。
题目 A1:拿火柴游戏
程序随机产生 20—50 根火柴,由人与计算机轮流拿,每次拿的数量不超过
3 根,拿到最后一根为胜。
题目 A2:ATM 模拟程序
输入给定的卡号和密码(初始卡号为 62250028 和密码为 123456)时,系统
能登录 ATM 柜员机系统,用户可以按照以下规则进行操作:
1、查询余额:初始余额为 10000 元;
2、ATM 取款:每次取款金额为 100 的倍数,总额不超过 5000 元,支取金额
不允许透支;
3、ATM 存款:不能出现负存款;
4、修改密码:新密码长度不小于 6 位,不允许出现 6 位完全相同的情况,
只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密
码;
5、要求数据采用文件存储,如果采用数据库存储数据,且界面实现采用了
GUI,则酌情提档给分。
题目 A3:简单仓库管理系统
本系统实现简单的仓库管理功能,可以对仓库及产品信息进行登记、修改、
删除等。
程序的基本功能:
1.增加、修改、删除一个仓库资料。
2.增加、修改、删除一个产品资料。
3.按条件显示仓库资料(条件有按编号、名称等)。
4.按条件显示产品资料(条件有按编号、名称等)。
5.查找指定产品的数量。
6.要求数据采用文件存储,如果采用数据库存储数据,且界面实现采用了
GUI,则酌情提档给分。
题目 A4:学生信息管理系统
本系统实现学生信息的管理功能,可以对学生的学号、姓名、性别、籍贯及
成绩等基本信息进行录入、修改、查询、删除等。
程序的基本功能:
1.增加、修改、删除一个学生及成绩信息。(对于学生成绩要求输入验证,
比如不能大于 100 分,不能是负数);
2.分页显示所有学生信息;
3.按条件查询学生信息(条件有学号、姓名、籍贯等)。
4.要求数据采用文件存储,如果采用数据库存储数据,且界面实现采用了
GUI,则酌情提档给分。
题目 A5:图书信息管理系统
本系统实现图书信息的管理功能,可以对图书的 ISBN 编号、书名、作者、
出版社及出版年份等基本信息进行录入、修改、查询、删除等。
程序的基本功能:
1.增加、修改、删除一本书的信息;
2.分页显示所有图书信息;
3.按条件查询图书信息(条件有 ISBN 编号、书名、作者等)。
4.要求数据采用文件存储,如果采用数据库存储数据,且界面实现采用了
GUI,则酌情提档给分。
题目 A6:个人通讯录系统
建立一个通讯录,要求通讯录中必须含有编号、姓名,性别、电话、地址、
Email 等等。实现该类并包含添加、删除、修改、按姓名查等几个方法。要求使
用文件保存数据,如果采用数据库存储数据,且界面实现采用了 GUI,则酌情提
档给分。
题目 A7:职工工资管理系统
公司主要有 4 类人员:经理、技术员、销售员、销售经理。要求存储这些人
的职工号、姓名、月工资、岗位、年龄、性别等信息。
2
程序的基本功能:
1.增加、修改、删除一个职工信息;
2.显示全部职工信息;
3.按条件显示职工信息(条件有按电话号码、姓名、职称或职工号等);
4.按条件显示工资信息(职工号,职称等);
5.查找指定金额范围的职工职称。
6.要求数据采用文件存储,如果采用数据库存储数据,且界面实现采用了
GUI,则酌情提档给分。
题目 A8:婴儿出生信息管理系统
在医院中,婴儿出生的时候都需要进行登记,现在要求编写一个程序进行初
生婴儿的登记和屏幕打印预览管理,为了该程序很好地为其他模块提供接口,采
用一个类模块来描述婴儿信息,婴儿的详细情况包括:
描述信息
信息说明
最大字符数
备注
家庭详细地址
母亲的联系方法和具体的地址
128
允许为空
住址邮政编码
地址对应的邮政编码
母亲姓名
婴儿母亲的姓名
父亲姓名
婴儿父亲的姓名
婴儿性别
男或女
6
12
12
允许为空
必须填写
允许为空
必须填写
婴儿体重
新生儿体重
数字
允许为空
护理人员代码
护理人员的编号
出生日期
4
必须填写
根据以上信息,要求在 JAVA 中,使用类模块来描述婴儿信息,并且完成登
记和在屏幕上进行显示的程序功能。
护理人员代码必须为四位,代码号顺序从 0100-0112;
医务人员代码必须为四位,代码号顺序从 0300-0320;
家庭详细地址输入的字符不能超过 128 个;
住址邮政编码输入的字符不能超过 6 个;
母亲姓名和父亲姓名输入的字符不能超过 12 个;
婴儿性别是“男”或者“女”;
“母亲姓名”、“婴儿性别”和“护理人员代码”是基本数据,不允许为空,
要求在代码中进行输入检查;
程序的基本功能:
3
1.增加一个婴儿资料。
2.按条件查询显示婴儿资料(条件有按医院、父母、性别以及日期等)。
3.显示超低体重的婴儿资料。
B 类题(图形界面、数据库、接口数据的下载及解析)
B 类题的基本要求:
① 掌握 Java 语言图形用户界面(GUI)应用程序的编写;
② 掌握文件存取的基本方法,以及 SqlLite、MySql 或 SQL Server 等数据
库的创建及操作方法;
③ 掌握 XML 或 JSon 数据的下载及解析方法。
④ B 类题所规定的功能如能全部完成,则程序得分区间一般处于 76~85 分,
如果主要功能未能实现,则直接判定为不及格;根据程序的编码质量,可以酌情
给予 A 类或 C 类题的分数。
题目 B1:简单计算器
仿照 Windows 2000/XP 系统中的“计算器”利用 Java 的 GUI 实现一个简单
的计算器。
程序的基本功能:
1.单击“计算器”上的数字按钮(0-9)可以设置参与计算的运算数。
2.单击“计算器”上的运算符按钮(+、-、*、/)可以选择运算符号。
3.单击“计算器”上的“=”按钮显示计算结果。
题目 B2:简单的记事本程序
仿照 Window 系统中的“记事本”利用 Java 的 GUI 和文件输入输出流实现一
个简单的记事本程序。
要求能实现编辑、保存、另存为、查找和替换等功能。
题目 B3:模拟电信计费系统
电信有很多用户,每一个用户都有基本信息,包括:姓名、住址、出生年月
等信息。每一个用户可以有座机、移动电话,两者可以同时有,也可以有其一。
现收费标准如下:
座机
移动电话
长途
7 秒 0.1 元
7 秒 0.1 元
市话
0.15 元每分钟
0.15 元每分钟
IP 电话
0.3 元每分钟
0.3 元每分钟
要求实现图形化用户界面,完成以下功能:
4