《使用Java实现面向对象编程》内部测试机试题
题目:试题信息管理系统
一、语言和环境
A、实现语言
Java
B、环境要求
JDK 6.0、MyEclipse10.6、SQL Server2008
二、功能要求
开发基于控制台的试题信息管理系统。具体要求如下:
(1)显示试题信息管理系统主菜单,如图-1所示,包括:
1)列出所有试题信息
2)按科目查询
3)按题干模糊查询
4)添加试题
5)删除试题
6)退出系统
(2)列出所有试题信息:查询出所有试题的信息,内容包括:题干,A、B、C、D四个选项,答案。如图-2所示。
(3)按科目查询:输入科目,查询出属于此科目的所有试题。如图-3所示。
(4)按题干模糊查询:输入题干,按题干模糊查询出相关试题。如图-4所示。
(5)添加试题:输入试题的各个属性信息,并将试题保存至数据库。如图-5所示。
(6)删除试题:删除指定编号的试题,如果输入的试题编号不存在,给出提示信息。如图-6所示。
(7)退出系统。
系统运行界面如图-1所示。
图-1 主菜单界面
图-2所有试题界面
图-3按科目查询界面
图-4 按题干模糊查询界面
图-5 添加试题界面
图-6 删除指定试题界面
三、类的设计
采用DAO模式开发此系统,需要定义如下类
试题信息实体类(QuestionInfo)
- 试题编号(QuestionId)
- 题干(Question)
- 选项A (optionA)
- 选项B (optionB)
- 选项C (optionC)
- 选项D (optionD)
- 科目(subject)
- 正确答案(answer)
数据库连接和关闭类(BaseDao)
试题信息DAO接口(QuestionInfoDao)
试题信息DAO实现类(QuestionInfoDaoImpl)
Main类
四、具体要求及推荐实现步骤
1、创建数据库表question_info,添加测试数据不少于4条,表结构如表-1所示。
表-1 试题信息表
表名 |
question_info |
中文表名称 |
试题信息表 |
|||
主键 |
questionId |
|||||
序号 |
字段名称 |
字段说明 |
类型 |
长度 |
属性 |
备注 |
1 |
questionId |
试题编号 |
int |
主键 |
自增列 |
|
2 |
question |
题干 |
nvarchar |
300 |
非空 |
|
3 |
optionA |
选项A |
nvarchar |
300 |
非空 |
|
4 |
optionB |
选项B |
nvarchar |
300 |
非空 |
|
5 |
optionC |
选项C |
nvarchar |
300 |
非空 |
|
6 |
optionD |
选项D |
nvarchar |
300 |
非空 |
|
7 |
subject |
科目 |
int |
非空 |
1代表Java、2代表C#、3代表JSP |
|
8 |
answer |
正确答案 |
nvarchar |
10 |
非空 |
2、创建实体类QuestionInfo,根据业务提供需要的构造方法和setter/getter方法。
3、创建BaseDao类,实现数据库连接和关闭功能。
4、创建DAO接口QuestionInfoDao,定义查询所有试题,按科目查询试题,按题干模糊查询试题,添加试题,删除试题、按试题编号查询试题的方法。
5、创建DAO实现类QuestionInfoDaoImpl,继承BaseDao类,实现QuestionInfoDao接口,使用JDBC完成相应数据库操作。
6、创建Main类,完成在控制台的试题信息操作,启动和运行系统。
五、注意事项
1、 请注意代码的书写、命名符合规范,在代码中添加必要的注释;
2、 请注意操作数据库时进行必要的异常处理。