組卷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頁面,如果你想生成的每一份試題都不一樣,也可以添加一些演算法,這樣生成的試卷每個都不一樣。。思路就這樣。。。