java課程設(shè)計(jì)英漢電子詞典系統(tǒng)_第1頁
java課程設(shè)計(jì)英漢電子詞典系統(tǒng)_第2頁
java課程設(shè)計(jì)英漢電子詞典系統(tǒng)_第3頁
java課程設(shè)計(jì)英漢電子詞典系統(tǒng)_第4頁
java課程設(shè)計(jì)英漢電子詞典系統(tǒng)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程設(shè)計(jì)說明書 no.1英漢電子詞典系統(tǒng)1.課程設(shè)計(jì)的目的java語言是當(dāng)今流行的網(wǎng)絡(luò)編程語言,它具有面向?qū)ο?、跨平臺(tái)、分布應(yīng)用等特點(diǎn),它貼近自然的語義,而且有利于軟件的維護(hù)和繼承。此次課程設(shè)計(jì)的目的在于鞏固所學(xué)java語言基本知識(shí),增進(jìn)java語言編輯基本功,掌握jdk、editplus、eclipse、jcreator等開發(fā)工具的運(yùn)用,拓寬常用類庫的應(yīng)用。使學(xué)生通過該教學(xué)環(huán)節(jié)與手段,把所學(xué)課程及相關(guān)知識(shí)加以融會(huì)貫通,全面掌握java語言的編程思想及面向?qū)ο蟪绦蛟O(shè)計(jì)的方法,為今后從事實(shí)際工作打下堅(jiān)實(shí)的基礎(chǔ)。2.設(shè)計(jì)方案論證2.1 概要設(shè)計(jì)2.1.1 系統(tǒng)功能描述該系統(tǒng)主要用于實(shí)現(xiàn)英漢互譯的功

2、能,系統(tǒng)擁有己的數(shù)據(jù)庫,我們可以先選擇讓系統(tǒng)進(jìn)行英譯漢,還是漢譯英,然后在查詢框中輸入想要查詢的英文單詞或漢語意思,系統(tǒng)自動(dòng)在數(shù)據(jù)庫中查找匹配記錄并給出對(duì)應(yīng)的漢語意思或英文單詞,若在數(shù)據(jù)庫中沒有查找到匹配的記錄,則系統(tǒng)會(huì)彈出出錯(cuò)提示。同時(shí),系統(tǒng)還提供了添加、修改、刪除等功能,允許用戶自主的對(duì)系統(tǒng)數(shù)據(jù)庫進(jìn)行添加、修改、刪除等操作,便于用戶建立自己的詞匯庫,簡(jiǎn)便實(shí)用。2.1.2 系統(tǒng)開發(fā)環(huán)境(1)硬件環(huán)境cpu:intel(r)core(tm)2 duo cpu p7450 2.13ghz 內(nèi)存:2g 硬盤空間:250g(2)軟件環(huán)境 32位xp操作系統(tǒng)。jdk和jcreator軟件環(huán)境。 沈 陽

3、 大 學(xué)課程設(shè)計(jì)說明書 no.22.2詳細(xì)設(shè)計(jì)2.2.1 程序流程圖英漢詞典漢英詞典備份詞庫退出刪除詞匯修改詞匯英漢電子詞典庫存采購操作添加詞匯圖1 英漢電子詞典系統(tǒng)功能模塊圖功能模塊說明:(1)英譯漢功能模塊說明:可以實(shí)現(xiàn)對(duì)英文單詞對(duì)中文單詞的查詢功能。用戶文本框中輸入要查詢的英語單詞。若該單詞存在于詞庫中,則會(huì)在文件對(duì)話框中顯示其詞性及中文翻譯;若該單詞沒有存在于詞庫中,則會(huì)彈出“警告”,說明“查無此詞”;若沒有輸入直接點(diǎn)擊“查詢”,則會(huì)彈出“警告”,說明“查詢對(duì)象不能為空”。(2)漢譯英功能模塊說明:可以實(shí)現(xiàn)對(duì)中文單詞對(duì)英文單詞的查詢功能。用戶可在文本框中輸入要查詢的中文單詞。若該單詞存

4、在于詞庫中,則會(huì)在文件對(duì)話框中顯示一個(gè)或多個(gè)對(duì)應(yīng)的英文;若該單詞沒有存在于詞庫中,則會(huì)彈出“警告”,說明“查無此詞”;若沒有輸入直接點(diǎn)擊“查詢”,則會(huì)彈出“警告”,說明“查詢對(duì)象不能為空”。(3)備份詞庫功能模塊說明:可以實(shí)現(xiàn)對(duì)現(xiàn)有詞庫的備份,可將當(dāng)前詞庫存入用戶所設(shè)置的任一位位置。(4)添加詞匯功能模塊說明:可以實(shí)現(xiàn)對(duì)詞庫的添加。用戶可自行輸入所添加的 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.3單詞及其解釋,若添加的是詞庫中沒有的單詞,系統(tǒng)在添加成功后有提示“添加成功”;若添加的是詞庫中已有的單詞,系統(tǒng)會(huì)彈出“警告”,說明“此詞匯已存在”。(5)修改詞匯功能模塊說明:可以實(shí)現(xiàn)對(duì)詞庫中已有單詞的修

5、改。用戶可自行修改詞庫中的單詞的解釋,若輸入單詞不存在于詞庫中,系統(tǒng)會(huì)彈出“警告”,說明“不存在此單詞”。(6)刪除詞匯功能模塊說明:可以刪除詞庫中已有的單詞。用戶可自行刪除詞庫中已有的單詞,在刪除此單詞的同時(shí),其解釋也會(huì)隨之被刪除,若輸入單詞不存在于詞庫中,系統(tǒng)會(huì)彈出“警告”,說明“不存在此單詞”。(7)其它功能模塊說明:在幫助中有“幫助”與“關(guān)于”兩項(xiàng),“幫助”中有關(guān)于詞典的功能說明,“關(guān)于”可顯示版本信息。2.2.2 程序中自定義類說明表1 動(dòng)畫中涉及的元件表類名作用父類子類dic自定義主體main函數(shù)的類,用來調(diào)用各種類datawindow,addwin,delwin,modifywi

6、ndatawindow自定義一個(gè)主窗體類,用來顯示整個(gè)窗體jframeaddwin自定義一個(gè)添加窗口類,用于添加新的單詞及其解釋jframedelwin自定義一個(gè)刪除窗口類,用于刪除詞庫中所存在的單詞及其解釋jframemodifywin自定義一個(gè)修改窗口類,用于修改詞庫中所存在的單詞及其解釋jframe 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.42.2.3程序中主要方法說明(1)定義方法actionperformed(),內(nèi)用if語句實(shí)現(xiàn)按鈕監(jiān)聽:public void actionperformed(actionevent e)(2)定義方法刪除(),實(shí)現(xiàn)刪除功能public void 刪除(

7、) throws sqlexception(3)定義方法添加(),實(shí)現(xiàn)添加功能public void 添加() throws sqlexception(4)定義方法查詢(),實(shí)現(xiàn)查詢功能public void 查詢() throws sqlexception3.設(shè)計(jì)結(jié)果與分析3.1程序運(yùn)行結(jié)果經(jīng)過編譯、執(zhí)行后可看到運(yùn)行界面如圖2所示圖2 運(yùn)行結(jié)果圖此時(shí)有兩個(gè)菜單選擇:庫存和采購操作。 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.53.1.1庫存菜單它包含四個(gè)子菜單:英漢詞典、漢英詞典、備份詞庫及退出。打開該詞典時(shí)默認(rèn)進(jìn)入的是英漢詞典。如圖3所示:圖3 庫存菜單示意圖(1)英漢詞典:在文本框中輸入要查詢

8、的英文單詞,單擊“查詢”,英文單詞對(duì)應(yīng)的中文解釋及其詞性便會(huì)出現(xiàn)在文件對(duì)話框中,如圖4所示:圖4 英漢詞典查詢示意圖 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.6如果所查單詞不存在于詞庫中,則會(huì)彈出“警告”,說明“查無此詞”,如圖5所示;如果是沒有輸入直接點(diǎn)擊“查詢”,則會(huì)彈出“警告”,說明“查詢對(duì)象不能為空”,如圖6所示:圖5 查詢錯(cuò)誤示意圖圖6 空輸入查詢錯(cuò)誤(2)漢英詞典:在在文本框中輸入要查詢的漢語意思,單擊“查詢”,對(duì)應(yīng)的英文單詞便會(huì)出現(xiàn)在文件對(duì)話框中,如圖7所示: 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.7圖7 漢英詞典查詢示意圖如果所查詞不存在于詞庫中,則會(huì)彈出“警告”,說明“查無此詞”;

9、如果是沒有輸入直接點(diǎn)擊“查詢”,則會(huì)彈出“警告”,說明“查詢對(duì)象不能為空”,演示與英漢詞典類似。(3)點(diǎn)擊備份詞庫時(shí),會(huì)彈出保存文件對(duì)話框,此時(shí)可將詞庫拷貝到機(jī)算機(jī)里的任一位置。如圖8所示。圖8 備份詞匯庫功能演示 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.83.1.2采購操作菜單:它包含三個(gè)子菜單:添加詞匯、修改詞匯和刪除詞匯。如圖9所示:圖9 采購操作菜單示意圖(1)添加詞匯:用戶可自行輸入所添加的單詞及其解釋,如果添加的是詞庫中沒有的單詞,系統(tǒng)在添加成功后有提示“添加成功”,如圖10所示。若添加的是詞庫中已有的單詞,系統(tǒng)會(huì)彈出“警告”,說明“此詞匯已存在”。如圖11所示。圖10 添加詞匯成功示

10、意圖 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.9圖11 添加詞匯出錯(cuò)示意圖(2)修改詞匯:用戶可自行修改詞庫中的單詞的解釋,如圖12所示;如果輸入單詞不存在于詞庫中,系統(tǒng)會(huì)彈出“警告”,說明“不存在此單詞”,如圖13所示。圖12 修改詞匯成功示意圖 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.10圖13 修改詞匯出錯(cuò)示意圖(3)刪除詞匯:用戶可自行刪除詞庫中已有的單詞,在刪除此單詞的同時(shí),其解釋也會(huì)隨之被刪除,如圖14所示。如果輸入單詞不存在于詞庫中,系統(tǒng)會(huì)彈出“警告”,說明“不存在此單詞”,如圖15所示。圖14 刪除詞匯成功示意圖 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.11圖15 刪除詞匯出錯(cuò)示意圖經(jīng)測(cè)試

11、,該系統(tǒng)各項(xiàng)功能均能使用,各個(gè)功能選項(xiàng)與設(shè)計(jì)所想相符。3.2尚需解決的問題(1)本系統(tǒng)雖然允許用戶根據(jù)自己的需求增減詞匯,保存自己的詞匯庫,但是卻無法做到批量導(dǎo)入。(2)發(fā)音問題,本系統(tǒng)還缺少比較重要的一項(xiàng)功能,詞匯的發(fā)音功能。(3)查詢單詞時(shí)無法做到自動(dòng)匹配,比如說輸入a時(shí),無法自動(dòng)尋找所有以a開頭的詞匯。4.設(shè)計(jì)體會(huì)此次課程設(shè)計(jì)過程中,我遇到了很多問題,也更加了解java。java是一種網(wǎng)絡(luò)語言,使java程序能在網(wǎng)絡(luò)的任何地方運(yùn)行,java解釋器生成與體系結(jié)構(gòu)無關(guān)的字節(jié)碼結(jié)構(gòu)的文件格式。java為了做到結(jié)構(gòu)中立,除生成機(jī)器無關(guān)的字節(jié)碼外,還制定了完全統(tǒng)一的語言文本,如java的基本數(shù)據(jù)類

12、型不會(huì)隨目標(biāo)機(jī)的變化而變化,一個(gè)整型總是32位,一個(gè)長(zhǎng)整型總是64位。 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.12為了使java的應(yīng)用程序能不依賴于具體的系統(tǒng),java語言環(huán)境還提供了用于訪問底層操作系統(tǒng)功能的類組成的包,當(dāng)程序使用這些包時(shí),可以確保它能運(yùn)行在各種支持java的平臺(tái)上。通過對(duì)java數(shù)據(jù)庫編程的更多的了解,我也獲得了一些調(diào)試的經(jīng)驗(yàn):通過層層的捕獲異常來得知錯(cuò)誤的發(fā)生。在課程設(shè)計(jì)中出現(xiàn)的問題對(duì)我而言是學(xué)習(xí)與復(fù)習(xí)的好機(jī)會(huì),是它們使我學(xué)會(huì)了如何自學(xué)、如何查閱資料等,讓我學(xué)習(xí)了很多,也讓我對(duì)舊的知識(shí)點(diǎn)有了更深的理解。在這不斷的調(diào)試、改動(dòng)的過程中也讓我明白了養(yǎng)成良好編程習(xí)慣的益處。由于編寫

13、程序時(shí)容易出錯(cuò),因此我采用了單個(gè)模塊單個(gè)功能進(jìn)行調(diào)試與測(cè)試的方法。在不斷的出錯(cuò)與改錯(cuò)的過程中,我學(xué)到了很多關(guān)于編程和調(diào)試程序的知識(shí),使自己的知識(shí)體系得到了一定的完善,也使我對(duì)平時(shí)所學(xué)有了很多的了解與更深的理解。面對(duì)一系列的問題,失敗了嘗試,再失敗再嘗試通過這次的實(shí)踐,我發(fā)現(xiàn)了自己在編程及對(duì)軟件開發(fā)相關(guān)知識(shí)的不足,在以后的學(xué)習(xí)實(shí)踐中,我要取長(zhǎng)補(bǔ)短,敢想善問,不斷加強(qiáng)自身在專業(yè)知識(shí)方面的能力,為以后的學(xué)習(xí)與工作打下堅(jiān)實(shí)的基礎(chǔ)。5.參考文獻(xiàn)1 葉核亞java2程序設(shè)計(jì)實(shí)用教程m(第2版)北京:電子工業(yè)出版社;2008.42陳國君、陳磊、陳錫禎、劉洋.java2程序設(shè)計(jì)基礎(chǔ)m,第一版.北京:清華大學(xué)出

14、版社,2006:324-3373丘仲潘. java游戲編程m.北京:科學(xué)出版社,2004.6:1251324張大治. java程序設(shè)計(jì)實(shí)用教程m.北京:清華大學(xué)出版社,2008.4:728156.附錄核心代碼import java.awt.*;import .*; 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.13import java.sql.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import sun.audio.*;import javax.swing.joptionpane;class datawindow

15、extends jframe implements actionlistenerjframe topframe;jdesktoppane desktop;filedialog filedialog_save; /聲明文件對(duì)話框jtextfield englishtext;jtextarea chinesetext;jbutton b1,b2,b3,b4;jlabel label;jmenubar mbar;jmenu mfile,medit;jmenuitem edic,cdic,back_data,quit,addedit,modedit,deledit,about;datawindow()

16、super(英漢小詞典);this.setbounds(250,250,600,400);this.setvisible(true);getcontentpane().add(new jscrollpane(chinesetext);mbar = new jmenubar();setjmenubar(mbar); 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.14mbar.setopaque(true);mfile = new jmenu(庫存);medit = new jmenu(采購操作);mbar.add(mfile);mbar.add(medit);edic = new jmenuitem(英漢

17、詞典);cdic = new jmenuitem(漢英詞典);back_data = new jmenuitem(備份詞庫);quit = new jmenuitem( 退出);/文件菜單addedit = new jmenuitem(添加);modedit = new jmenuitem(修改);deledit = new jmenuitem(刪除);/編輯菜單about = new jmenuitem(關(guān)于.);/幫助菜單mfile.add(edic);mfile.add(cdic);mfile.add(back_data);mfile.addseparator();mfile.add(q

18、uit); /mfilemedit.add(addedit);medit.add(modedit);medit.add(deledit); /meditedic.addactionlistener(this);cdic.addactionlistener(this);quit.addactionlistener(this);addedit.addactionlistener(this);modedit.addactionlistener(this);deledit.addactionlistener(this); 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.15about.addactionliste

19、ner(this);englishtext = new jtextfield(16);englishtext.setfont(new font(,15,15);chinesetext = new jtextarea(8,15);chinesetext.seteditable(false);chinesetext.setfont(new font(,25,25);b1 = new jbutton(查詢);b2 = new jbutton(添加);b3 = new jbutton(修改);b4 = new jbutton(刪除);jpanel p1 = new jpanel(),p2 = new

20、jpanel();/添加面板label = new jlabel(輸入要查詢的英語單詞:);label.setfont(new font(隸書,20,20);p1.add(label);p1.add(englishtext);p1.add(b1);p2.add(b2);p2.add(b3);p2.add(b4);this.add(p1,north);this.add(p2,south);this.add(new jscrollpane(chinesetext),center);b1.addactionlistener(this);b2.addactionlistener(this);b3.ad

21、dactionlistener(this);b4.addactionlistener(this);englishtext.addactionlistener(this);back_data.addactionlistener(this);filedialog_save = new filedialog(this,保存文件對(duì)話框,filedialog.save); 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.16filedialog_save.addwindowlistener(new windowadapter() /對(duì)話框增加適配器public void windowclosing(windowev

22、ent e)filedialog_save.setvisible(false););addwindowlistener(new windowadapter()public void windowclosing(windowevent e)system.exit(0););public void actionperformed(actionevent e) /實(shí)現(xiàn)按鈕監(jiān)聽if(e.getsource()=b1|e.getsource()=englishtext)chinesetext.settext();if(englishtext.gettext().equals()joptionpane.s

23、howmessagedialog(this,查詢對(duì)象不能為空!,警告,joptionpane.warning_message);elsetrylistwords();catch(sqlexception ee) 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.17 else if(e.getsource()=b2|e.getsource()=addedit) addwin add = new addwin(); /addwin是添加窗口的類else if(e.getsource()=b3|e.getsource()=modedit) modifywin modi = new modifywin(); /m

24、odifywin是修改窗口的類else if(e.getsource()=b4|e.getsource()=deledit) delwin del = new delwin(); /delwin是刪除窗口的類else if(e.getsource()=edic) /英漢label.settext(輸入要查詢的英語單詞:);b1.setvisible(true);else if(e.getsource()=cdic) /漢英label.settext(輸入要查詢的漢語意思:);b1.setvisible(true);else if(e.getsource()=back_data) /備份file

25、 fromfile = new file(englishenglish.mdb); 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.18fileinputstream fis = null;filedialog_save.setvisible(true);tryfis = new fileinputstream(fromfile);int bytesread; /定義變量來存儲(chǔ)輸入流中讀取出來的文件byte buf = new byte4*1024; /4k bufferfile tofile = new file(filedialog_save.getdirectory(),filedialog_sav

26、e.getfile();fileoutputstream fos = new fileoutputstream(tofile);while(bytesread = fis.read(buf)!=-1)fos.write(buf,0,bytesread);fos.flush();fos.close();fis.close();catch(ioexception e2) else if(e.getsource()=quit) /退出system.exit(0);else if(e.getsource()=about) /關(guān)于final string aboutmsg = a electrical

27、dictionary 1.0 n n 沈 陽 大 學(xué)課程設(shè)計(jì)說明書 no.19+an application written to show off the function of dictionary.n n+written by edith.n n+copyright (c) 2005 by edith.all rights reserved.;joptionpane.showmessagedialog(topframe,aboutmsg);public void listwords() throws sqlexception /實(shí)現(xiàn)查詢功能string cname,ename;trycl

28、ass.forname(sun.jdbc.odbc.jdbcodbcdriver);catch(classnotfoundexception e)/建立橋接器 connection ex1con = drivermanager.getconnection(jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=englishenglish.mdb,);statement ex1stmt = ex1con.createstatement();if(label.gettext().equals(輸入要查詢的英語單詞:)resultset rs = ex1stmt.executequery(select * from 表1);while( rs.next()ename = rs.getstr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論