/*******************************************************************************
* 系统ID : 系统名 :在线考试系统 程序ID :Questions 功能 :考题实体类 文件名 :Questions.java
*
* 修改历史 年 月 日 类别 作者 内容 ----------- ---- ------------ ---------- 2007/3/12 初版 刘锷
* 初始完成
*
******************************************************************************/
package com.exam.javabean;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class Questions {
/** ID */
private String id;
/** 题目 */
private String question;
/** 答案a */
private String keya;
/** 答案b */
private String keyb;
/** 答案c */
private String keyc;
/** 答案d */
private String keyd;
/** 正确答案 */
private String answer;
/** 题目分值 */
private String score;
/** 题目类型 */
private String kind;
/** 返回题目 */
public String getquestion() {
return question;
}
/** 设置题目 */
public void setquestion(String question) {
this.question = question;
}
/** 返回ID */
public String getid() {
return id;
}
/** 设置ID */
public void setid(String id) {
this.id = id;
}
/** 返回答案a */
public String getkeya() {
return keya;
}
/** 设置答案a */
public void setkeya(String keya) {
this.keya = keya;
}
/** 返回答案b */
public String getkeyb() {
return keyb;
}
/** 设置答案b */
public void setkeyb(String keyb) {
this.keyb = keyb;
}
/** 返回答案c */
public String getkeyc() {
return keyc;
}
/** 设置答案c */
public void setkeyc(String keyc) {
this.keyc = keyc;
}
/** 返回答案d */
public String getkeyd() {
return keyd;
}
/** 设置答案d */
public void setkeyd(String keyd) {
this.keyd = keyd;
}
/** 返回正确答案 */
public String getanswer() {
return answer;
}
/** 设置正确答案 */
public void setanswer(String answer) {
this.answer = answer;
}
/** 返回分值 */
public String getscore() {
return score;
}
/** 设置分值 */
public void setscore(String score) {
this.score = score;
}
/** 返回类型 */
public String getkind() {
return kind;
}
/** 设置类型 */
public void setkind(String kind) {
this.kind = kind;
}
/***************************************************************************
* 方法名 :randomQuestions 功能 :取得指定数量随机考题 参数 :DB db I 数据库连接 String Number I
* 考题数量
*
* 返回值 :ArrayList 指定数量随机考题数组
*
* 修改历史 年 月 日 类别 作者 内容 ----------- ---- ------------ ---------- 2007/3/13 初版
* 刘锷 初始完成
*
**************************************************************************/
public static ArrayList randomQuestions(DB db, String Number, String kind)
throws SQLException {
// 新建一个数组用来保存返回随机题目
ArrayList list = new ArrayList();
ResultSet rs;
// 查询数据库语句变量
String strSql;
strSql = " select * from tiku where kind='" + kind
+ "' order by rand() limit " + Number + "";
// System.out.println(strSql);
// 执行sql查询
rs = db.OpenSql(strSql);
while (rs.next()) {
Questions qe = new Questions();
qe.setanswer(rs.getString("answer"));
qe.setkeya(rs.getString("keya"));
qe.setkeyb(rs.getString("keyb"));
qe.setkeyc(rs.getString("keyc"));
qe.setkeyd(rs.getString("keyd"));
qe.setquestion(rs.getString("question"));
qe.setscore(rs.getString("score"));
list.add(qe);
}
// 如果ResultSet不为空就关闭它
if (rs != null) {
rs.close();
}
return list;
}
/***************************************************************************
* 方法名 : getQuestionList 功能 : 取得题库信息 参数 : DB db I 数据库连接 返回值 :list 题库信息列表
*
* 修改历史 年 月 日 类别 作者 内容 ----------- ---- ------------ ---------- 2007/3/21 初版
* 刘锷 初始完成
*
**************************************************************************/
public static ArrayList getQuestionList(DB db) throws SQLException {
String strSql;
ResultSet rs;
ArrayList list = new ArrayList();
// 编写sql语句
strSql = "select * from tiku order by kind";
// 执行sql语句
rs = db.OpenSql(strSql);
// 如果sql有返回值那么将这个信息保存到employee实体对象里并返回
while (rs.next()) {
Questions qe = new Questions();
qe.setid(rs.getString("id"));
qe.setquestion(rs.getString("question"));
qe.setanswer(rs.getString("answer"));
qe.setkeya(rs.getString("keya"));
qe.setkeyb(rs.getString("keyb"));
qe.setkeyc(rs.getString("keyc"));
qe.setkeyd(rs.getString("keyd"));
qe.setscore(rs.getString("score"));
qe.setkind(rs.getString("kind"));
list.add(qe);
}
// 如果ResultSet不为空就关闭它
if (rs != null) {
rs.close();
}
return list;
}
/***************************************************************************
* 方法名 :QuestionInsert 功能 :插入一个题目 参数 :DB db I 数据库连接 String s_id I 学生编号
*
* 返回值 : true 操作成功 false 操作失败
*
* 修改历史 年 月 日 类别 作者 内容 ----------- ---- ------------ ---------- 2007/3/21 初版
* 刘锷 初始完成
*
**************************************************************************/
public static boolean QuestionInsert(DB db, String question, String answer,
String keya, String keyb, String keyc, String keyd, String score,
String kind) throws SQLException {
// 定义变量
String strSql;
// insert into student
// values(null,9,'45sdf',password(123),'男','kljl','ljk','ojik')
// 编写语句
strSql = "insert into tiku values(null,'" + question + "','" + keya
+ "','" + keyb + "','" + keyc + "','" + keyd + "','" + answer
+ "','" + score + "','" + kind + "')";
System.out.println(strSql);
db.OpenSql("lock table tiku write");
try {
// 如果插入成功就返回真否则返回假
if (db.ExecSql(strSql) == 0) {
db.OpenSql("unlock tables");
return false;
} else {
db.OpenSql("unlock tables");
return true;
}
} catch (Exception e) {
db.OpenSql("unlock tables");
return false;
}
}
/***************************************************************************
* 方法名 :QuestionDel 功能 :删除试题 参数 :DB db I 数据库连接 String s_id I
* 学生编号
*
* 返回值 : true 操作成功 false 操作失败
*
* 修改历史 年 月 日 类别 作者 内容 ----------- ---- ------------ ---------- 2007/3/28 初版
* 刘锷 初始完成
*
**************************************************************************/
public static boolean QuestionDel(DB db, String q_id) throws SQLException {
// 定义删除语句变量
String strSql, strSql1;
// 编写删除语句
strSql = "delete from tiku where id ='" + q_id + "'";
db.OpenSql("lock table tiku write");
// 如果插入成功就返回真否则返回假
if (db.ExecSql(strSql) == 0) {
db.OpenSql("unlock tables");
return false;
} else {
db.OpenSql("unlock tables");
return true;
}
}
/***************************************************************************
* 方法名 :QuestionUpdate 功能 :更新一个题目 参数 :DB db I 数据库连接 String s_id I 学生编号
*
* 返回值 : true 操作成功 false 操作失败
*
* 修改历史 年 月 日 类别 作者 内容 ----------- ---- ------------ ---------- 2007/3/19 初版
* 刘锷 初始完成
*
**************************************************************************/
public static boolean QuestionUpdate(DB db, String id, String question,
String keya, String keyb, String keyc, String keyd, String answer,
String score, String kind) throws SQLException {
// 定义变量
String strSql, strSql1;
// 编写语句
strSql = "update tiku set question='" + question + "',keya='" + keya
+ "',keyb='" + keyb + "',keyc='" + keyc + "',keyd='" + keyd
+ "',answer='" + answer + "',score='" + score + "',kind='"
+ kind + "' where id='" + id + "'";
System.
"java毕业设计-javaC语言试题生成与考试系统(源代码+论文).zip" 涉及的知识点主要集中在Java编程语言、C语言、软件工程以及数据库管理上。这个项目显然是一款基于Java开发的在线考试系统,专门用于生成C语言的试题,并可能包含了考生的答题与评分功能。 我们需要理解Java编程语言的基础知识,包括面向对象编程概念(如类、对象、封装、继承和多态),异常处理,集合框架(如ArrayList和HashMap),输入/输出流(用于读写文件),以及Swing或JavaFX这样的图形用户界面(GUI)库来创建考试界面。此外,多线程技术可能用于实现并行处理,例如同时生成多个试题或者处理并发的用户请求。 涉及到C语言的知识点,系统可能需要解析C语言的语法结构,生成不同类型的题目,比如选择题、填空题、编程题等。这需要深入理解C语言的语法和数据类型,以及可能用到的编译原理知识。 在软件工程方面,毕业设计通常会涵盖需求分析、系统设计、编码、测试和文档编写等阶段。因此,学生需要掌握如何进行需求收集,绘制UML(统一建模语言)图表,如用例图、类图和序列图,以描述系统的功能和交互。此外,良好的代码组织结构和设计模式(如工厂模式、单例模式)也是重要的实践内容。 数据库管理是另一个核心部分。可能使用的是关系型数据库,如MySQL或Oracle,用于存储试题库、考生信息、考试成绩等数据。需要了解SQL语言,包括数据查询、插入、更新和删除操作,以及数据库事务管理和安全性。可能还需要设计合理的数据库表结构,如试题表、答案表、考生表等,以及它们之间的关联。 论文部分将涉及对整个项目的详细阐述,包括系统架构、关键技术、实现过程、性能评估和改进点。这部分需要扎实的书面表达能力和学术写作规范,能够清晰地解释系统的工作原理和创新之处。 这个毕业设计涵盖了Java编程、C语言理解、软件工程实践和数据库管理等多个IT领域的关键知识点,对于提升学生的综合技能和项目经验具有重要意义。





























































































































- 1
- 2

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整


- 粉丝: 6659
- 资源: 9万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 三菱FX3U与欧姆龙E5CC温控器基于Modbus RTU的远程+本地通讯控制系统设计
- 工业自动化领域WinCC报表功能详解:日报表、月报表、年报表与自由时段报表的应用与实现
- MATLAB/Simulink仿真:交直流微电网中光伏、蓄电池、风机的并离网切换与虚拟同步发电机技术
- 西门子SMART200 PLC与电子天平自由口通讯程序详解及实战案例
- 西门子1200 PLC V15版多设备协同控制:步进电机、变频器与TCP/IP通讯应用实例
- QT(C++)权限管理平台源码解析:涵盖用户、角色、权限、菜单、日志管理等功能
- 西门子PLC浆料输送搅拌系统:模拟量控制与梯形图编程详解
- LabVIEW实现485标准Modbus通信的变频器测控系统及其应用
- 自动化控制领域:西门子200SMART PLC+三菱变频器+威纶通触摸屏的液体配料合成设备程序详解
- LS-DYNA霍普金森压杆SHPB动态劈裂仿真k文件详解及优化技巧
- 信号处理领域中小波降噪、小波包降噪与滤波降噪的Python实现及应用场景
- 西门子PLC模拟量滤波程序:适用于1200与1500系列的多功能信号处理功能块
- 纯电动车续驶里程的Simulink建模:基于PI控制的工况跟随与二阶RC电池模型
- 基于多种策略改进的黏菌优化算法SMA:实现快速收敛与高精度优化
- 基于二阶RC模型的磷酸铁锂电池参数在线辨识及其Matlab实现
- 西门子PLC200smart RS485轮询与步进轴控制在产品测试机中的应用


