当前位置:首页 » 编程语言 » 在线考试系统java

在线考试系统java

发布时间: 2023-06-17 20:56:43

A. 求在线考试系统源代码,做好的更好,用java语言写的,连接mysql数据库的,在线等,急!!谢谢

1.Java连接MySQL数据库
Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的MySQL-connector-java-5.0.5-bin.jar加到classpath里,具体如下:
“我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\MySQL-connector-java-5.0.5\MySQL-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。

package hqs;
import java.sql.*;
public class DataBasePractice {

public static void main(String[] args) {
//声明Connection对象
Connection con;
//驱动程序名
String driver = "com.mysql.jdbc.Driver";
//URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/mydata";
//MySQL配置时的用户名
String user = "root";
//MySQL配置时的密码
String password = "root";
//遍历查询结果集
try {
//加载驱动程序
Class.forName(driver);
//1.getConnection()方法,连接MySQL数据库!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
//2.创建statement类对象,用来执行SQL语句!!
Statement statement = con.createStatement();
//要执行的SQL语句
String sql = "select * from student";
//3.ResultSet类,用来存放获取的结果集!!
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println(" 学号" + "\t" + " 姓名");
System.out.println("-----------------");

String name = null;
String id = null;
while(rs.next()){
//获取stuname这列数据
name = rs.getString("stuname");
//获取stuid这列数据
id = rs.getString("stuid");
//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//输出结果
System.out.println(id + "\t" + name);
}
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//数据库驱动类异常处理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
//数据库连接失败异常处理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
System.out.println("数据库数据成功获取!!");
}
}

}

2.添加、修改、删除操作
在上面while代码段后面添加以下代码段:String name = null;
String id = null;
while(rs.next()){
//获取stuname这列数据
name = rs.getString("stuname");
//获取stuid这列数据
id = rs.getString("stuid");
//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//输出结果
System.out.println(id + "\t" + name);
}

PreparedStatement psql;
ResultSet res;
//预处理添加数据,其中有两个参数--“?”
psql = con.prepareStatement("insert into student values(?,?)");
psql.setInt(1, 8); //设置参数1,创建id为5的数据
psql.setString(2, "xiaogang"); //设置参数2,name 为小明
psql.executeUpdate(); //执行更新

//预处理更新(修改)数据
psql = con.prepareStatement("update student set stuname = ? where stuid = ?");
psql.setString(1,"xiaowang"); //设置参数1,将name改为王五
psql.setInt(2,10); //设置参数2,将id为2的数据做修改
psql.executeUpdate();

//预处理删除数据
psql = con.prepareStatement("delete from student where stuid = ?");
psql.setInt(1, 5);
psql.executeUpdate();

//查询修改数据后student表中的数据
psql = con.prepareStatement("select*from student");
res = psql.executeQuery(); //执行预处理sql语句
System.out.println("执行增加、修改、删除后的数据");
while(res.next()){
name = res.getString("stuname");
id = res.getString("stuid");
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
System.out.println(id + "\t" + name);
}
res.close();
psql.close();

该代码段使用到了预处理语句:con.prepareStatement(String sql);
这样生成数据库底层的内部命令,并将该命令封装在preparedStatement对象中,可以减轻数据库负担,提高访问数据库速度。 运行结果:

B. java在线考试系统的考试界面要个时间限制,怎么弄(jsp)

jsp页面做一个倒计时的提示就可以控制时间了。
实现方法如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<div id="showTimes"></div>
<%
long current_time=System.currentTimeMillis();
long end_time=1337875200000l;
long time=end_time-current_time;
%>
<script>
var second = <%= time / 1000%>; // 剩余秒数
// 写一个方法,将秒数专为天数
var toDays = function(){
var s = second % 60; // 秒
var mi = (second - s) / 60 % 60; // 分钟
var h = ((second - s) / 60 - mi ) / 60 % 24; // 小时
var d = (((second - s) / 60 - mi ) / 60 - h ) / 24 // 天
return "剩余:" + d + "天" + h + "小时" + mi + "分钟" + s + "秒";
}
//然后写一个定时器
window.setInterval(function(){
second --;
document.getElementById("showTimes").innerHTML = toDays ();
}, 1000);
</script>

C. 在用java做一个在线考试系统,随机抽题遇到了问题,我写了一个随机抽题的方法,不知道在asp按钮中怎么用

import java.util.Random;
import java.util.Scanner;

public class MaxNumber {

private static Scanner input = new Scanner(System.in); // 实例控制台输入类
public static void main(String[] args) {
/*
* 第一步, 按照题目要求 , 我们需要用户输入 10 个数字
*/
int[] numberArray = new int[10]; // 我们先定义一个 可以装 10 个数字的数组
int choose = chooseMode(); // 我加了一个选择模式的函数
if (choose == 1) { // 用户手工输入
for (int i = 0; i < numberArray.length; i++) { // 循环输入
System.out.print("请定义第 '" + (i + 1) + "' 个数字:"); // 输出控制台提示
numberArray[i] = input.nextInt(); // 要求输入, 并存储到数组变量里
}
} else { // 计算机随机生成
Random random = new Random(); // 随机数类
int tempNumber = 0 ; // 临时变量
for (int i = 0; i < numberArray.length; i++) { // 计算机生成
tempNumber = random.nextInt(100) + 1; // 随机生成 1 - 100 的数
System.out.println("计算机生成的第 '" + (i + 1) + "' 个数字是:" + tempNumber);
numberArray[i] = tempNumber; // 赋值
}
}
/*
* 第二步 , 找这 10 个数当中 , 最大的数.
*/
int maxNumber = 0; // 定义一个变量接收最大的数
for (int i = 0; i < numberArray.length; i++) { // 循环寻找
/*
* 循环比对, 一个接一个的, 如果 '当前数' , 比我们已经记录的 '最大数' 还大, 那我们就把当前数 赋给 最大数
*/
if (numberArray[i] > maxNumber) {
maxNumber = numberArray[i];
}
}
System.out.println("其中最大的数是:" + maxNumber); // 输出结果
}

/**
* 选择模式方法
* @return 返回选择的模式的编号
*/
public static int chooseMode() {
System.out.println("------------ 选择模式 ------------");
System.out.println("\t1. 用户输入十个数字");
System.out.println("\t2. 计算机随机产生十个数字");
System.out.print("请选择:");
return input.nextInt(); // 输入, 返回
}

/*
* 其中包函的知识有: 控制台输入, 输出 , 数组 , 循环 , if 判断语句
*/
}

最后:
希望能帮到你,如果有什么问题可以 Hi 我,
看到楼主花了怎么多耐心,写了怎么多判断,也可以见得楼主确实用心了,
只是没找到方法。

D. 有什么好用的在线考试系统吗Java的。

考试云就是这样一个好的考试系统,拥有如下特点:

1、支持新增考生信息,可以使用Excel模板批量导入考生信息;可以进行组无限层级织架构的建设,分部门分组管理考生信息。

2、支持可视化批量新增试题,支持word、Excel、TXT导题模板一键导入试题;导入试题时,系统会自动检测相似题目和试题格式,并给出相应的提示,避免试题的重复录入。

3、支持免登录、口令、免登录+口令、账号密码四种考生参加考试的方式;支持固定试卷、抽题试卷、随机试卷三种试卷类型,可以根据考试业务灵活组卷。

4、有模拟考场环境的参数设置,如考试时间、答题时长、参考次数、成绩显示等;还有防止作弊的措施,如人脸识别、视频抓怕监考、随机打乱试题顺序、禁止考试中途切屏、禁止考生复制、粘贴等操作。

5、支持自动阅卷,主观题可设置得分点、关键词进行判卷,具备多维度的成绩统计分析,让考试结果一目了然。

热点内容
怎么进别人的服务器 发布:2025-05-14 22:45:55 浏览:772
用编程写音乐 发布:2025-05-14 22:45:08 浏览:782
如何识别电脑的网络配置 发布:2025-05-14 22:38:46 浏览:847
pipforpython3 发布:2025-05-14 22:38:34 浏览:350
如何把迷你世界的服务器搞崩 发布:2025-05-14 22:37:15 浏览:94
如何让安卓卡死机 发布:2025-05-14 22:36:27 浏览:634
wemall微商城源码 发布:2025-05-14 22:15:20 浏览:804
隆地优选交易密码是什么 发布:2025-05-14 21:53:23 浏览:96
强酸强碱存储柜 发布:2025-05-14 21:45:16 浏览:565
车辆参数配置包括什么 发布:2025-05-14 21:31:03 浏览:164