1.一種Java編程題目自動(dòng)評(píng)判方法,其特征在于,包括:
接收答題代碼和Java編程題目的預(yù)設(shè)代碼;
對(duì)所述答題代碼和預(yù)設(shè)代碼進(jìn)行處理,并插入評(píng)判代碼,得到待編譯代碼;
對(duì)所述待編譯代碼進(jìn)行編譯,并判斷是否編譯成功;
若是,則運(yùn)行編譯后的程序,執(zhí)行所述評(píng)判代碼;及,
通過(guò)所述評(píng)判代碼的運(yùn)行結(jié)果統(tǒng)計(jì)所述答題代碼的得分。
2.根據(jù)權(quán)利要求1所述的一種Java編程題目自動(dòng)評(píng)判方法,其特征在于,所述對(duì)所述答題代碼和預(yù)設(shè)代碼進(jìn)行處理,并插入評(píng)判代碼,得到待編譯代碼具體為:
將所述答題代碼和預(yù)設(shè)代碼進(jìn)行合并和拼接;
對(duì)不安全的代碼進(jìn)行過(guò)濾;
按照評(píng)判服務(wù)器運(yùn)行的需要,將答題代碼中的操作代碼改寫為評(píng)判代碼。
3.根據(jù)權(quán)利要求1所述的一種Java編程題目自動(dòng)評(píng)判方法,其特征在于,所述通過(guò)所述評(píng)判代碼的運(yùn)行結(jié)果統(tǒng)計(jì)所述答題代碼的得分之后還包括:
通過(guò)異步告知的方式將所述得分返回給考生客戶端。
4.根據(jù)權(quán)利要求1所述的一種Java編程題目自動(dòng)評(píng)判方法,其特征在于,所述接收答題代碼和Java編程題目的預(yù)設(shè)代碼之前還包括:
考試服務(wù)器根據(jù)考試要求編寫Java編程題目的題干并說(shuō)明題意,選擇性地提供預(yù)設(shè)代碼;
考生客戶端閱讀所述Java編程題目并進(jìn)行答題代碼編寫,并將所述答題代碼上傳至考試服務(wù)器。
5.一種Java編程題目自動(dòng)評(píng)判系統(tǒng),其特征在于,包括:考生客戶端、考試服務(wù)器和評(píng)判服務(wù)器;
所述考生客戶端,用于根據(jù)Java編程題目的預(yù)設(shè)代碼進(jìn)行答題,得到答題代碼,并將所述答題代碼提交至考試服務(wù)器;還用于接收返回的答題代碼保存結(jié)果和評(píng)判結(jié)果;
所述考試服務(wù)器,用于接收所述答題代碼和預(yù)設(shè)代碼,對(duì)所述考生答題代碼和預(yù)設(shè)代碼進(jìn)行處理,并插入評(píng)判代碼,得到待編譯代碼,將所述待編譯代碼發(fā)送至評(píng)判服務(wù)器;用于保存所述答題代碼并將保存結(jié)果發(fā)送至考生客戶端;還用于接收評(píng)判服務(wù)器返回的評(píng)判結(jié)果,并將所述評(píng)判結(jié)果發(fā)送至考生客戶端;
所述評(píng)判服務(wù)器,用于對(duì)所述待編譯代碼進(jìn)行編譯,并判斷是否編譯成功;若是,則運(yùn)行編譯后的程序,執(zhí)行所述評(píng)判代碼;通過(guò)所述評(píng)判代碼的運(yùn)行結(jié)果統(tǒng)計(jì)所述考生答題代碼的得分,并將評(píng)判結(jié)果發(fā)送至考試服務(wù)器。
6.根據(jù)權(quán)利要求5所述的一種Java編程題目自動(dòng)評(píng)判系統(tǒng),其特征在于,所述考試服務(wù)器中設(shè)置有異步告知單元,用于通過(guò)異步告知的方式將所述得分返回給考生客戶端。
7.根據(jù)權(quán)利要求5所述的一種Java編程題目自動(dòng)評(píng)判系統(tǒng),其特征在于,所述考試服務(wù)器中還設(shè)置有出題單元,用于根據(jù)考試要求編寫Java編程題目的題干并說(shuō)明題意,選擇性地提供預(yù)設(shè)代碼。
8.根據(jù)權(quán)利要求7所述的一種Java編程題目自動(dòng)評(píng)判系統(tǒng),其特征在于,所述考生客戶端中設(shè)置有答題單元,用于閱讀所述Java編程題目并進(jìn)行答題代碼編寫,并將所述答題代碼上傳至考試服務(wù)器。
9.根據(jù)權(quán)利要求5所述的一種Java編程題目自動(dòng)評(píng)判系統(tǒng),其特征在于,所述評(píng)判服務(wù)器中設(shè)置有評(píng)判器集群和并發(fā)處理單元,所述評(píng)判器集群包含多個(gè)評(píng)判器,用于處理多個(gè)評(píng)判進(jìn)程;所述并發(fā)處理單元,用于支持多個(gè)并發(fā)訪問(wèn)。