2019级Java面向对象程序设计大作业题目及要求
2019级Java面向对象程序设计大作业题目及要求
一、作业目的
1、掌握用Java实现面向对象程序设计的基本方法。
2、熟练掌握Java程序开发环境的使用。
3、完成一个GUI应用程序的设计、编码、调试,了解程序设计过程,锻炼实际应用能力,为后续课程打
下基础。
二、作业题目
编写的代码需要体现面向对象的思想,需要根据题意分析创建几个类。所有的题目都建议实现GUI应用程序,即具有图形用户界面。建议批量信息的存储使用集合类对象来存储,例如ArrayList,HashMap等,不要用数组。具体要求可详细阅读题目。
若不想做以上题目的,可以自拟题目,请把题目和详细功能描述发到指导老师邮箱或和指导老师电话联系,由指导老师确认后,可以做自拟的题目。
(一)餐厅点餐系统
1、采用图形用户界面,可参考下图设计,需要有餐厅名称、菜式类别导航页面、菜式展示选择页面、点
菜单显示区域、操作按钮、菜单栏(添加“系统设置”菜单项,可设置餐厅名称的字体样式)等。2、系统至少包括以下信息:
菜式信息:菜的编号、菜名、菜的类型、菜价、(菜的简介)等
客户点菜单信息:本单编号、餐桌编号、用餐人数、日期、点菜列表(菜名、数量、价格)、账单总额等3、系统基本功能要求:
(1)点击菜式类别,可展示该分类下的所有菜品(系统中不少于5个菜品分类,每个菜品类别,不少于6个菜)。
(2)选择餐桌编号、用餐人数、菜式等,点击【取消】按钮,取消所有菜式的选择,点击【下单】按钮生成点菜单,计算总金额(需要根据用餐人数计算茶位费),并在界面中显示。
(3)每桌的点菜单同时需要使用文件存储。
(4)点击【加单】按钮,可以在点菜单中追加菜式,更新总金额,更新界面和文件中信息。
(5)点击【结账】按钮,完成结账,清空本餐桌点菜单。
4、扩展功能要求:
(1)为菜品添加数量按钮,可选择点菜数量。
(2)计算餐厅的销售总额,添加管理员角,设置登录功能,能查看所有桌子的点菜单,可计算销售总额等。
(3)根据现实中餐厅点餐系统的需求,自行增加功能。
(二)关系和相关计算
需求描述:《离散数学》中的关系和映射应用非常广泛。从面向对象的角度来看,关系和映射都是对象;并且映射是一种特殊的关系。关系和映射也有很多运算,关系的运算有:交集运算、并集运算、逆关系运算、复合运算,自反性、反自反性、对称性、反对称性、传递性五大性质的判断,自反闭包、对称闭包、传递闭包的求取;映射的判断,单射、满射和双射的判断。另外,等价关系、相容关系、偏序关系也都是关系的一种,这三种关系的判定以及如何通过等价关系对集合进行划分,偏序关系中极值的计算。
设计实现要求:
1、设计合适的类来描述关系、相容关系、等价关系、偏序关系、映射;
2、将需求描述中的各种运算以实例方法的形式设计到对应的类中,尽量避免使用静态方法;如果一定要
使用静态方法,请在设计说明文档中说明原因;
3、设计中要体现继承和多态;
4、选择使用集合类或者关系矩阵二者之一完成类的属性、对象的初始化以及各种运算方法的设计与实现;
5、偏序关系中极值的计算可以作为选作内容。
(三)小学生数学考试自动系统
1、采用图形用户界面,界面标题为“广州市X小学数学考试自动系统”,主要功能为:自动生成50道数学题,每题为随机生成的3个100以内整数的加减混合运算,每道题为2分,共100分,考试时间为90
分钟。
2、系统基本功能要求:java程序设计考试题
1)开始界面上需要填写姓名、专业、和班级信息;
2)点击开始考试按钮后,自动生成50道数学题,计时开始;
3)考试计时功能,在界面上显示考试花费时间,90分钟后自动交卷;
4)交卷功能按钮:点击该按钮提前交卷或90分钟时间后自动交卷,均弹出对话框,并显示统计后的考试得分;
5)试卷显示部分采用卡式布局管理器(CardLayout),每页显示5道题,共25页,通过“首页”、“上一页”、“下一页”和“尾页”四个按钮控制翻页功能,其他功能部分可自行合理布局;
6)每道题100以内的整数随机生成,加法和减法也是随机,但3个数的混合运算结果不能为负数;
7)考试的成绩累加写入“成绩.txt”文件,格式为“姓名年级班级成绩”,如:“张三**年级*班98”。
3、扩展功能要求:
增加考试平均分按钮,实现对进行过考试的人员平均分统计,即对文件“成绩.txt”进行平均分统计可额外加分10-20分。
(四)JA V A画图板
设计内容:
模拟windows画图板程序,实现对图形图像的绘制、修改、保存等功能;
基本要求:
(1)使用GUI图形用户界面实现编程;
(2)软件界面进行功能划分,需包括菜单栏、工具栏、绘图区等;
(3)菜单栏实现空白图形的创建、打开、保存、修改等功能;
(4)工具栏包含一些基本的画图工具组件,如直线、直角矩形、圆角矩形、椭圆、空心/实心圆、橡皮擦等;
(5)能设置图形组件的背景颜;
(五)学生获奖信息收集与管理系统
能够实现:
1、学生角登录:
1)查看个人信息(包括:学院、专业、年级、学号、姓名);
2)修改个人密码;
3)添加个人获奖信息(获奖信息包括:获奖时间(年、月、日)、奖项名称、获奖等级(如:国家级一
等奖;省级二等奖)、指导老师、授奖部门);
4)查看个人所有获奖信息(不能查看别人的),可按获奖时间、奖项名称、获奖等级、指导老师、授奖
部门等进行排序;
5)按获奖时间、奖项名称、获奖等级、指导老师、授奖部门等查看个人的某个获奖信息;
6)删除个人获奖信息;
7)修改个人获奖信息。
2、辅导员角登录:
1)查看个人信息(包括:学院、工号、姓名);
2)修改个人密码;
3)添加学生获奖信息;
4)查看所有学生的获奖信息,可按获奖时间、奖项名称、获奖等级、指导老师、授奖部门等进行排序;
5)按获奖时间、奖项名称、获奖等级、指导老师、授奖部门等查看的获奖信息;
6)删除学生获奖信息;
7)修改学生获奖信息;
8)按专业、年级、获奖时间、奖项名称、获奖等级、指导老师、授奖部门等统计获奖信息。
三、作业提交及其他要求
1、开发工具:Eclipse、Netbeans、IntelliJ IDEA或者其他java开发平台都可以。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。