《面向对象程序设计课程设计》题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象程序设计课程设计题目
设计说明
1. 每人一组,每组选择一个题目;如果列出多个版本,只需要完成其中一个版本即可。
2. 由学习委员负责统计各组员及其题目,以电子档模式提交题目列表名单。
3. 每组必须给出相应的UML类图,可用Visio或者其他类似的工具完成。
设计要求
1.编码规范要求
遵循Java编码规范,参见附录。
2.知识点要求
项目应至少覆盖以下知识点:封装、继承与多态等基本概念;方法和数组;输入输出流;使用抽象类、接口;对象组合;异常处理;包的使用。
3.文档打包及提交要求
文档打包:以“班级-学号-姓名-题目-设计报告.rar”形式将相关文档打包。
提交要求:统一交至教学平台。
压缩包的内容:
1)运行正确的源代码(包括文件夹结构)。
2)设计报告:描述软件功能、和设计方案的UML类图;设计中涉及的主要知识点;运行结果截图;使用帮助文档。
题目列表及说明:
1. 打字游戏
GUI本地版
可根据一片文章自动导入单词
整个单词下落或者淡入淡出
同时多个单词出现
对输入错误的单词分析记忆功能
积分
2. 文件加密和解密
要求:采用图形用户界面
1)给定任意一个文本文件,进行加密,生成另一个文件。
2)对加密后的文件还原。
3. 5子棋游戏
设计程序,完成下述功能:
在大于9条线的方形网格棋盘上,放置黑白两色棋子;
两人各执一色,通过网络对弈;
可以在任何两条线的交点上放置棋子;
同色棋子先同行、同列或者同队角线上5颗连成一条线者获胜。
4. 俄罗斯方块(网络版)
设计程序,完成下述功能:完成一个可以两个人通过网络对战的俄罗斯方块游戏,每一方都可以在自己的屏幕上看到对方的当前游戏状况,游戏先结束的一方为失败者。
5. 音乐播放器(JavaGUI本地版)
设计程序,完成下述功能:
选择各类声音文件进行播放。
完成前进、后退、暂停、回放等控制功能。
6. 电子相册(JavaGUI本地版)
设计程序,完成下述功能:
选择图形的显示。
完成图形的放大、缩小、剪切、旋转等控制功能。
图片的自动播放功能。
7. 多人聊天室((JavaGUI本地版/WEB版)
多人同时上网聊天。
8.扑克游戏(JavaGUI本地版/WEB版)
开发具有“升级”功能的4人对战游戏。“升级”又叫拖拉机。要求采用Java 网络编程技术。
9.编写一个记事本程序
要求:
用图形用户界面实现。
能实现编辑、保存、另存为、查找替换等功能。
提示:使用文件输入输出流。
10.模拟龟兔赛跑
要求:
用图形用户界面实现。
能设置比赛时间,马匹的数量等等。
在任意时间段内马匹的速度是随机的。
开始比赛之后以动画显示赛马过程。
提示:使用多线程
11.ATM柜员机模拟程序
要求:使用图形用户界面。
当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM 柜员机系统,用户可以按照以下规则进行:
1)查询余额:初始余额为10000元
2)ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3)ATM存款:不能出现负存款。
4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
12.超市收银系统
要求:使用图形用户界面。
由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。
13.扩充的万年历
多功能计时功能:当前时间显示;按年月显示日历;调整时间。
备忘录功能:备忘录设置,备忘录删除。
14.网络监听程序
使用图形用户界面。
有服务器和客户端,服务器监听客户端的登陆。即:如果A客户端登陆服务器,则服务器界面上的A字母对应的红灯变成绿色。绿灯表示连接,红灯表示断线。
提示:socket的监听方法
15.全球通计费程序
使用图形用户界面。
使用真实的全球通资费标准,模拟统计一个特定号码的一个月的实时话费。能根据输入实现各种用户的话费的计算并显示月实时帐单。
提示:使用接口和多个子类实现分别表示金卡、银卡等各种套餐的话费计算。
16.日历记事本
要求:带有日程提醒功能的日历。
1)显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。
2)定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。
3)查询信息:用户可以查询到某个月的所有的提示信息。
17.电子英汉词典
能够编辑词典库中的信息
能够实现英译汉,汉译英。(要考虑一词多义)
18.小游戏
要求:程序随机产生20—50根火柴,由人与计算机轮流拿,每次拿的数量不超过3根,拿到最后一根为胜。(使用图形界面)
19.敏感词汇分析
要求:任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。
20. 一个简单的学生成绩管理信息系统
数据要求:1)建立的数据库中包含如下信息:学生学号、姓名、班级,语文、数学、英语成绩。2)至少要有5个班级,每个班级要有10名以上学生。3)使用.txt格式文本表示各种表。
功能需求:1)能够实现根据以下关键字查询:学生姓名、学号、班级、课程名称。2)能够实现按照单科成绩、总成绩、平均成绩、学号排序。3)能够实现学生信息的插入、删除和修改。4)能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号。5)能够查询每个班级某门课程的优秀率(90分及以上)、不及格率,并进行排序。
界面要求:1)尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。2)如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。
附录:Java编码规范
一、Java 命名约定
采用适用于相关领域的术语
采用大小写混合使名字可读
尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一
避免使用长的名字(一般小于15个字母)