

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 面向對象課程設計</b></p><p> 題 目 標準化考試系統 </p><p> 學 院 數學與信息工程學院 </p><p> 專 業(yè) 計算機科學與技術 </p><p><b
2、> 目 錄</b></p><p><b> 一、需求分析</b></p><p><b> 二、系統運行環(huán)境</b></p><p><b> 三、功能需求描述</b></p><p><b> 四、總體設計</b><
3、/p><p><b> 五、程序模塊設計</b></p><p><b> 六、使用效果圖</b></p><p><b> 七、總結</b></p><p><b> 一、需求分析</b></p><p> 要設計一個性能良
4、好的管理系統,明確用戶的應用環(huán)境對系統的要求是首要的和基本的。本系統從以下三個方面對用戶需求進行了分析:</p><p> 用戶的信息需求:考生能查詢有關考試成績;系統管理員能查詢題庫信息;系主要領導都能查詢所有信息。</p><p> 用戶的處理要求:管理員能對題庫和考試科目執(zhí)行增加、刪除和修改操作;由管理員設置考試信息,經過考試主管領導的審核后就可考試;在考試時,由考生選擇試題;系
5、統控制考試時間、考試成績自動生成等。</p><p> 對系統的適應性、通用性要求:要求系統不僅能夠進行計算機系考試,而且其他系或專業(yè)稍作設置或改動也能使用本系統進行標準化網絡考試。</p><p><b> 二、系統運行環(huán)境</b></p><p> Windows XP SP3以及 Eclipse 2007</p>&l
6、t;p><b> 三、功能需求描述</b></p><p> 本系統可以進行任何標準化考試,具有選擇試題、查看得分、考試計時等功能。</p><p><b> 四、 總體設計</b></p><p> 本標準化考試系統共由3個java源文件和若干個試題組成,試題文件為文本文件,文件名字可任意指定,但擴展名必
7、須是txt,文件內容必須遵守如下的書寫規(guī)則:</p><p> 試題文件的第一行是全部試題的答案,答案之間不可以有空格。</p><p> 第二行是試題文件的考試時間,如1:23:45表示的考試時間是1小時23分45秒。</p><p> 每道題目之間用“**”開頭的字符串分割。</p><p><b> 最后一行是end&
8、lt;/b></p><p><b> Test.java</b></p><p> 該java文件生成的類負責創(chuàng)建標準化考試的主窗口。該類含有main方法,程序從該類開始執(zhí)行,程序從該類開始執(zhí)行。在主窗口,用戶可以通過下拉列表選擇一套試題,然后開始讀取試題進行考試。</p><p> TestArea.java</p>
9、<p> 該文件生成的類負責創(chuàng)建考試區(qū)域對象。是Test窗口中的主要成員變量,考試區(qū)域提供了試題選取、查看分數、計時器、試題顯示等功能。</p><p> ReadTestquestion.java</p><p> ReadTestquestion對象是TestArea試題區(qū)中的重要對象,負責讀取該試題、計算分數等。</p><p> 圖
10、類之間的依賴關系</p><p><b> 五、程序模塊設計</b></p><p><b> 一、主類Test</b></p><p><b> 1.成員變量</b></p><p><b> 2.方法</b></p><p&
11、gt;<b> 3. 代碼</b></p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import javax.swing.*;</p><p> public class Test extends JFrame<
12、/p><p><b> {</b></p><p> TestArea testPanel=null;</p><p> Container con=null;</p><p> public Test()</p><p><b> {</b></p>&
13、lt;p> super("標準化考試系統");</p><p> testPanel=new TestArea();</p><p> con=getContentPane();</p><p> con.add(testPanel,BorderLayout.CENTER); </p><p> addWi
14、ndowListener(new WindowAdapter()</p><p> { public void windowClosing(WindowEvent e)</p><p> { System.exit(0);</p><p><b> }</b></p><p><b> });</
15、b></p><p> setVisible(true);</p><p> setBounds(60,40,660,460);</p><p> con.validate();</p><p> validate();</p><p><b> }</b></p>
16、<p> public static void main(String args[])</p><p><b> {</b></p><p> new Test();</p><p><b> }</b></p><p><b> }</b></p&g
17、t;<p> 一、讀取試題ReadTestquestion</p><p><b> 成員變量</b></p><p><b> 2.方法</b></p><p><b> 3. 代碼</b></p><p> import java.io.*;<
18、/p><p> import java.util.*;</p><p> public class ReadTestquestion</p><p> { String filename="", //存放考題文件名字的字符串</p><p> correctAnswer="",
19、 //存放正確答案的字符串</p><p> testContent="" , //試題內容</p><p> selection="" ; //存放用戶提交的答案</p><p> int score=0; // 用戶的得分&l
20、t;/p><p> long time=0; //該試題的考試用時</p><p> boolean 完成考試=false; //判斷是否已完成全部試題</p><p> File f=null;</p><p> FileReader in=null;</p><p> Buf
21、feredReader 讀取=null;</p><p> public void setFilename(String name)</p><p> { filename=name; </p><p><b> score=0;</b></p><p> selection="";<
22、;/p><p><b> try { </b></p><p> if(in!=null&&讀取!=null)</p><p><b> {</b></p><p> in.close(); //關閉與前一文件的連接</p><p>
23、; 讀取.close();</p><p><b> }</b></p><p> f=new File(filename);</p><p> in=new FileReader(f);</p><p> 讀取=new BufferedReader(in); //讀取試題文件的第1行,即標準答案
24、 </p><p> correctAnswer=(讀取.readLine()).trim(); //去掉前后空格</p><p> String temp=(讀取.readLine()).trim() ; //讀取試題文件的第2行,即考試用時</p><p> StringTokenizer token=new StringTokenizer(te
25、mp,":");</p><p> int hour=Integer.parseInt(token.nextToken()) ; //獲取用時的“時”值</p><p> int minute=Integer.parseInt(token.nextToken()); //獲取用時的“分”值</p><p> int seco
26、nd=Integer.parseInt(token.nextToken()); //獲取用時的“秒”值</p><p> time=1000*(second+minute*60+hour*60*60); //將用時轉換成毫秒單位</p><p><b> }</b></p><p> catch(Excepti
27、on e)</p><p><b> {</b></p><p> testContent="沒有選擇試題";</p><p><b> } </b></p><p><b> }</b></p><p> public
28、String getFilename()</p><p><b> { </b></p><p> return filename;</p><p><b> }</b></p><p> public long getTime()</p><p><b>
29、 {</b></p><p> return time;</p><p><b> }</b></p><p> public void set完成考試(boolean b)</p><p><b> {</b></p><p><b> 完
30、成考試=b;</b></p><p><b> }</b></p><p> public boolean get完成考試()</p><p><b> {</b></p><p> return 完成考試;</p><p><b> } &l
31、t;/b></p><p> public String getTestContent() //獲取試題的內容</p><p><b> { try { </b></p><p> String s=null;</p><p> StringBuffer temp=new StringBuffer(
32、);</p><p> if(讀取!=null) //如果用戶選擇了試題文件,讀取就不是空對象 </p><p><b> {</b></p><p> while((s=讀取.readLine())!=null) //繼續(xù)讀取某個試題</p><p><b>
33、 { </b></p><p> if(s.startsWith("**")) //試題的結束標志</p><p><b> break;</b></p><p> temp.append("\n"+s);</p><p> if(s.startsW
34、ith("end")) //整個試題文件的結束標志</p><p><b> {</b></p><p> in.close(); //關閉和當前文件的連接 </p><p> 讀取.close(); </p><p> 完成考試=true; /
35、/已完成全部試題 </p><p><b> }</b></p><p><b> }</b></p><p> testContent=new String(temp); </p><p><b> }</b></p><p><b&g
36、t; else</b></p><p><b> {</b></p><p> testContent=new String("沒有選擇試題");</p><p><b> } </b></p><p><b> } </b></
37、p><p> catch(Exception e)</p><p><b> { </b></p><p> testContent="試題內容為空,考試結束??!";</p><p><b> }</b></p><p> return testCo
38、ntent;</p><p><b> }</b></p><p> public void setSelection(String s)</p><p><b> { </b></p><p> selection=selection+s; //用戶提交的答案依次尾加到
39、 selection</p><p><b> }</b></p><p> public int getScore()</p><p> { score=0;</p><p> int length1=selection.length(); //用戶提交的第i題答案在selection中的位置</p
40、><p> int length2=correctAnswer.length();</p><p> int min=Math.min(length1,length2);</p><p> for(int i=0;i<min;i++)</p><p><b> { try{ </b></p>&
41、lt;p> if(selection.charAt(i)==correctAnswer.charAt(i))</p><p><b> score++;</b></p><p><b> }</b></p><p> catch(StringIndexOutOfBoundsException e) </
42、p><p><b> { </b></p><p><b> i=0;</b></p><p><b> }</b></p><p><b> }</b></p><p> return score;</p>&
43、lt;p><b> } </b></p><p> public String getMessages()</p><p><b> {</b></p><p> int length1=selection.length(); //用戶已提交的答案個數</p><p> int l
44、ength2=correctAnswer.length();</p><p> int length=Math.min(length1,length2);</p><p> String message="正確答案:"+correctAnswer.substring(0,length)+"\n"+</p><p> &q
45、uot;你的回答:"+selection+"\n";</p><p> return message;</p><p><b> }</b></p><p><b> }</b></p><p><b> 六、 使用效果圖</b></
46、p><p><b> 七、總結</b></p><p> Java課程設計是和室友一起完成的,在答辯前一天的時候,代碼運行并沒有想象中的結果,兩人一起去分析,但還是無勞。后來根據自己應有的能力,更換了題目,雖然還是遇見了很多的問題,讀取不到考題文件,在認真分析檢查代碼,找出錯誤來,最后在答辯前順利完成,但程序并不是自己所寫,而是在網上查找過來,但在此課程設計中,學到了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設計--標準化在線考試系統
- 基于java的標準化考試系統
- 課程設計--單項選擇題標準化考試系統
- c語言課程設計單項選擇題標準化考試系統
- c語言課程設計單項選擇題標準化考試系統設計
- java課程設計報告---考試系統
- c語言課程設計報告---單項選擇題標準化考試系統
- c語言課程設計報告--單項選擇題標準化考試系統
- java課程設計報告---學生考試系統
- 列管式換熱器系列標準化選型課程設計
- java課程設計報告---java實現畫筆系統
- java課程設計--酒店管理系統
- java課程設計---即時聊天系統
- java課程設計--注冊登錄系統
- java課程設計-文件管理系統
- java課程設計超市收銀系統
- 標準化考試系統項目文檔
- java課程設計
- java課程設計----課程設計報告
- java課程設計--學籍管理系統
評論
0/150
提交評論