组卷java
题目好像是让你做个增强版的List ,简单的都实现了 程序架子大概是这样,排序查找什么的网络搜下 算法很多,套着每样写个方法就行了,测试就在main‘方法里写
publicclassMyList{
privateString[]arr;
privateintcount;
publicMyList(intcount){
arr=newString[count];
this.count=count;
}
publicMyList(int[]intArr){
arr=newString[intArr.length];
this.count=intArr.length;
for(inti=0;i<intArr.length;i++){
arr[i]=intArr[i]+"";
}
}
publicMyList(String[]stringArr){
arr=stringArr;
this.count=stringArr.length;
}
publicintgetLength(){
returncount;
}
//清空容器内的数组。
publicvoidclearAll(){
arr=newString[count];
}
//通过给定元素下标来删除某一元素
publicvoidremoveBySeqn(intseqn){
if(seqn>=0&&seqn<count){
arr[seqn]=null;
}
}
publicstaticvoidmain(String[]args){
MyListlist=newMyList(40);
MyListlist1=newMyList({3,2,125,56,123});
MyListlist2=newMyList({"123",""ad});
list2.removeBySeqn(0);
list1.clearAll();
}
}
② 基于遗传算法的自动组卷系统的设计与实现(毕业设计) 求大神给一个系统
请问最后您是用什么方式实现的呢,不知是否保留代码?诚求!(价钱可继续商议)
③ 跪求java实现B/S考试系统的思路(最好有源代码)
做这个题库系统需要按照mvc设计一下, 最近我也实现一个类似的, 下面说下我的设计
设计基础试题表, 这个主要有类型难度等等
设计试卷表, 试卷表由create的时候根据输入的规则自动根据上面的基础题库表组装而成
剩下的用户管理, 导出就比较容易了, 导出可以用poi导出成word
④ java实现组卷功能
组卷一般分两种模式
一种是固定试卷 你直接在你题库选择题目 拼成了试卷 生成你直接拼接字符串生成一个html文件就可以了
一种是随机试卷,你设计好 选择题几个 问答题几个 。。。类似 然后一键生成 根据你设定的参数去随机取题目 然后 按一定的规律拼接就可以了 比如3个选择 2个填空 1个问答 剩下那些拼接都是布局的问题了
⑤ 如何用Java实现随机出题
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import oracle.jdbc.driver.OracleDriver;
public class GenPaperServlet extends HttpServlet
{
Connection conn;
Statement stmt;
ResultSet rs;
int total_question_num;
int total_question_in_paper;
int total_paper_num;
String curr_classid;
public GenPaperServlet()
{
conn = null;
stmt = null;
rs = null;
total_question_num = 0;
total_question_in_paper = 0;
total_paper_num = 0;
curr_classid = "";
}
public void doGet(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
httpservletresponse.setContentType("text/html;charset=GBK");
PrintWriter printwriter = httpservletresponse.getWriter();
printwriter.println("<html><head></head><body><center>");
printwriter.println("请以POST方式提交");
printwriter.println("</center></body></html>");
printwriter.close();
}
public void doPost(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
throws ServletException, IOException
{
httpservletresponse.setContentType("text/html;charset=GBK");
PrintWriter printwriter = httpservletresponse.getWriter();
String s = httpservletrequest.getParameter("classid"); //"20"
String s1 = httpservletrequest.getParameter("paper_num"); //"1"
if(s == null || s1 == null)
{
printwriter.println("<center>");
printwriter.println("请按照正常方式提交数据<br>");
printwriter.println("<a href=/test/admin/genpaper.jsp>单击这里设置生成试卷的参数</a>");
printwriter.println("</center>");
}
total_paper_num = Integer.parseInt(s1);
curr_classid = s;
int i = 0;
if(!open_db(curr_classid))
{
printwriter.println("打开数据库错误!");
return;
}
if(!setParams(curr_classid))
{
System.out.println("设置系统参数错误!");
return;
}
if(!verify_QuertionLib())
{
printwriter.println("试题库中试卷不足,请增加新的试题!");
printwriter.println("班级代号:" + curr_classid);
printwriter.println("该班级一套试卷中的试题数:" + total_question_in_paper);
printwriter.println("目前题库中该班级的试题总数:" + total_question_num);
return;
}
i = genPaper(total_paper_num, curr_classid);
if(i == 0)
{
printwriter.println("生成试卷操作失败!");
return;
}
if(!updateOtherTable(i, curr_classid))
{
printwriter.println("更新相关表操作失败!");
return;
} else
{
printwriter.println("<center>");
printwriter.println("动态组卷成功!<br>");
printwriter.println("共生成了 " + i + " 套试卷<br>");
printwriter.println("<a href=/test/admin/genpaper.jsp>单击这里设置生成试卷的参数</a>");
printwriter.println("</center>");
return;
}
}
public boolean open_db(String s)
{
try
{
new OracleDriver();
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora9", "scott", "tiger");
stmt = conn.createStatement();
}
catch(Exception exception)
{
return false;
}
return true;
}
public boolean setParams(String s)
{
String s1 = "";
try
{
String s2 = "select count(questionid) as countquestionid from test_question_lib ";
s2 = s2 + "where classid='" + s + "'";
rs = stmt.executeQuery(s2);
rs.next();
total_question_num = rs.getInt("countquestionid");
s2 = "select totalques from test_classinfo ";
s2 = s2 + "where classid='" + s + "'";
rs = stmt.executeQuery(s2);
rs.next();
total_question_in_paper = rs.getInt("totalques");
}
catch(Exception exception)
{
return false;
}
return true;
}
public boolean verify_QuertionLib()
{
return total_question_num >= total_question_in_paper;
}
public boolean updateOtherTable(int i, String s)
{
int j = 0;
String s1 = "update test_classinfo set totalpaper=totalpaper+";
s1 = s1 + i + " where classid='" + s + "'";
try
{
j = stmt.executeUpdate(s1);
}
catch(Exception exception)
{
return false;
}
return j == 1;
}
public int genPaper(int i, String s)
{
boolean flag = false;
boolean flag1 = false;
boolean flag2 = false;
boolean flag3 = false;
String s1 = "";
try
{
int ai[] = new int[total_question_num];
int i1 = 0;
boolean flag4 = false;
String s2 = "select max(paper_id) as max_paper_id from test_paper_lib";
rs = stmt.executeQuery(s2);
rs.next();
int j = rs.getInt("max_paper_id") + 1;
s2 = "select questionid from test_question_lib where classid='" + s + "'";
for(rs = stmt.executeQuery(s2); rs.next();)
ai[i1++] = rs.getInt("questionid");
for(int k1 = 0; k1 < i; k1++)
{
int k = ai.length; //8
for(int l1 = 0; l1 < total_question_in_paper; l1++)
{
// int ai[] ={1 ,3 , 5 ,9 , 56,30 96 ,25};
int j1 = (int)Math.floor(Math.random() * (double)k); // 4
String s3 = "insert into test_paper_lib values(";
s3 = s3 + "test_seq_paper.nextval," + j + "," + ai[j1] + ")";
stmt.executeUpdate(s3);
int l = ai[k - 1];
ai[k - 1] = ai[j1];
ai[j1] = l;
k--;
}
j++;
}
}
catch(Exception exception)
{
return 0;
}
return i;
}
}
⑥ 谁有基于java语言的自动组卷系统源代码,
不用想了,除非你运气好刚好能遇到有的,我花200财富值求个遗传算法在自动组卷中应用都没有人能回答到,现在我都打算用个random随机组组算了
⑦ 我是培训学校想上一个在线考试的软件,谁家的比较好
如果是教育机构的话,在寻找适合自己的考试系统时,首先要考虑的就是该系统能不能保证考生参加考试时的顺畅进行,其次就是看考试系统的功能是不是能满足这边的考试场景需求。
只有系统的性能稳定,才能保证最基本的用户体验感,我们系统是分布式云架构,全国有15个城市都部署了节点服务器,每个节点会根据用户请求地域进行就近分配来提高访问速率,同时还会智能地根据当前节点服务器请求压力进行轮询负载分配。
适合学校的在线考试系统需要能够在线出题、组卷、考试、阅卷、成绩统计等,通过智能的数据存储分析,大大简化了考试的流程,使得组织一场考试更加的快速便捷。其功能有以下这些:
一、批量导题、灵活组卷
1、支持手动添加试题和Word、Excel、TXT导题模板批量导入试题;支持无限层级试题分类管理,可以批量修改、删除、导出题库中的试题。
2、有固定试卷、随机试卷和抽题试卷三种试卷类型,可以根据不同的考试业务进行灵活的组卷。例如,正式的考试可以选择固定试卷,所有考生的试题都是一样的,能够很好的统一试卷难度;随堂练习和课后作业可以选择随机试卷和抽题试卷,这样能够更好地检验考生知识点的掌握是否全面。
3、考试公平是学校最看重的事情之一,所以在线考试系统需要有多种防作弊的功能,如防止考试切屏、打乱试题顺序、禁止复制粘贴试题文字、超时答题自动交卷等,还有人脸身份验证、摄像头视频抓拍监考等,可以有效地保证考试公平性。
二、分组化管理考生信息
1、支持单个新增考生和使用Excel模板批量添加考生信息,这样,学校在组织多场考试时,可以让考生使用账号密码进入考生中心参加考试。
2、可以对考生进行无限层级树状分类,构建组织架构,更好地管理考生信息。
三、权限分配,添加子账号管理
因为学校的老师较多,尤其是不太的科目之间出题、组卷等无法由一个人来完成,在线考试系统可以设置子管理员协助管理,并从功能菜单、操作范围、数据范围三个维度设置分配权限,以此来满足学校分工合作的管理需求。
四、自动阅卷评分,快速统计数据
1、在考试结束后,系统将会对试卷进行实时的批阅判分。对于填空题按空判分,可以设置判分时不区分答案顺序、关键词匹配判分;多选题可设置漏选判分规则;问答题等主观题型可以设置关键词和关键词得分比列来判分。
2、系统将考试成绩、用时、正确率、得分率、排名、应参加人数、缺考人数、最高分、平均分、试题答题次数、错题率等数据进行统计分析,并形成多维的考试报表。
五、多样化的考试设置
1、可以快速上传学校的LOGO和名称,个性化定制考试界面。
2、可以设置考试时间、答题时长、参考次数等时间参数,可定时开启考试;还可以设置考试参加的设备、试卷的模式、成绩的发布方式等配置项,能够更好地管控考试场景。
⑧ 哪位高手有随机组卷的思路 最好有源码 我用的是java+jsp+servlet。
M我 晚上我给你一套源码
⑨ 用java开发基于web的试卷自动生成系统,要可以导出word文档
你尽管放心,不会有大侠为你提供的,你这叫定制开发,得付费的!哈哈!
⑩ 求一个java智能试卷生成系统,基于web形式的,做毕业设计
这个简单呀,你先把试题存到数据库中,然后再读取出来,生成web页面,如果你想生成的每一份试题都不一样,也可以添加一些算法,这样生成的试卷每个都不一样。。思路就这样。。。