版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課 程 設 計 報 告 課程設計名稱 Java程序設計 專 業(yè) 班 級 學 號 姓 名 指導教師 成 績 年月日25目錄一、設計任務與要求11.1 設計任務與要求11.2 選題目的與意義1二、需求分析22.1 用戶需求分析22.2 開發(fā)環(huán)境分析3三、系統設計43.1 系統總體設計43.2 功能模塊設計43.3 類的設計53.4 數據庫設計7四、程序實現94.1 程序流程圖94.2 關鍵算法與技術實現114.3 類與數據結構實現20五、測試運行205.1 系統測試方案205.2 運行結果分析21六、設計體會25一、設計任務與要求1.1 設計任務與要求通過本課程設計實踐,達到以下目的:(1)培養(yǎng)學
2、生嚴謹務實的工作態(tài)度,并在老師的指導下,提高分析問題和解決問題的能力,促進理論聯系實際學風養(yǎng)成。(2)鞏固和加深對面向對象程序設計的基本概念、基本理論和實現技術的理解。(3)掌握Java開發(fā)的主要環(huán)境與工具,掌握面向對象的常用控件的使用方法。(4)初步掌握面向對象系統分析與設計的基本方法和步驟,并能針對簡單的實際應用問題進行初步地分析和設計。(5)掌握Java編程語言,并針對具體應用問題進行編程實現。(6)通過撰寫課程設計論文,鍛煉學生科技論文寫作能力。電子英漢詞典功能要求:能夠編輯詞典庫中的信息,能夠實現英譯漢,漢譯英(要考慮一詞多義)。該系統主要用于實現英漢互譯的功能,先選擇是英譯漢還是漢
3、譯英然后再查詢框中查詢,該系統會自動彈出匹配信息1.2 選題目的與意義我選擇電子英漢互譯詞典這一課題的目的在于鞏固所學JAVA語言編輯基本功,掌握Jdk,Editplus,Eclipse,Jcreator等開發(fā)工具的運用,拓寬常用類庫的應用。Java語言是當今流行的網絡編程語言,它具有面向對象,跨平臺,分布應用等特點,它貼近自然的語言,而且有利于軟件的維護和繼承。我們通過該教學環(huán)節(jié)與手段,把所學課程及相關知識加以融會貫通,全面掌握JAVA語言的編程思想及面向對象程序設計的方法,為今后從事實際工作打下堅實的基礎。二、需求分析2.1 用戶需求分析用戶需求分析:英漢詞典作為一個常用的學習工具,是我們
4、經常要使用的。該系統能完成一個簡單的電子詞的功能。該系統主要用于實現英漢互譯的功能,系統擁有自己的數據庫。英譯漢功能:我們可以先選擇讓系統進行英譯漢功能,然后在查找框中輸入想要查詢的英文單詞,系統將自動在數據庫中查找匹配記錄并給出相對應的漢語意思。漢譯英功能:我們可以在系統中選擇漢譯英功能,然后在查找框中輸入想要查詢的漢語意思,系統將自動在數據庫中查找匹配記錄并給出相對應的英文單詞。備份詞庫功能:我們可以將現有的詞庫做一份備份文件存入另一空間,以備文件丟失時使用。詞匯的添加功能:用戶可以添加詞庫內沒有的單詞及其解釋。添加成功后該單詞將在次庫內保存,以便下次查詢。詞匯的修改功能;用戶可以實現對詞
5、庫中已有單詞及其解釋的修改。修改后的結果將保存在詞庫中。詞匯的刪除功能;用戶可自行刪除詞庫中已有的單詞,同時次單詞的解釋也將被一同刪除。其他功能:此外,系統還具有幫助和關于等功能,用來輔助用戶更方便簡潔的使用電子詞典。電子英漢詞典 文件編輯其他英漢詞典漢英詞典備份詞庫退出系統添加詞匯修改詞匯刪除詞匯 幫助 關于2.2 開發(fā)環(huán)境分析系統需求分析:本系統是一個采用Microsoft Access作為數據庫,用JAVA作為開發(fā)工具的英漢電子詞典,內有英漢詞典、漢英詞典和備份詞庫。它不僅可實現英譯漢、漢譯英的基本翻譯功能,還可以讓用戶根據自己的需要添加、修改、刪除詞庫,形成自己的詞庫。(1)硬件環(huán)境C
6、pu: Intel (R) Core(TM)2 Duo Cpu p74502.13GHz內存:2G 硬盤空間:250G(2)軟件環(huán)境32位XP操作系統。JDK和Jcreator軟件環(huán)境。三、系統設計3.1 系統總體設計電子英漢詞典系統包括三個大方面:文件,編輯,其他。文件菜單中包括英譯漢,漢譯英備份詞庫。這也是電子詞典的最主要功能。編輯菜單中包括添加詞匯,修改詞匯,刪除詞匯功能。其他菜單中包括幫助和關于。系統總體設計圖如下:英漢電子詞典文件編輯英漢詞典漢英詞典退出備份詞庫添加詞匯刪除詞匯修改詞匯其它幫助關于程序共有五個子函數和一個主函數。(1)search是查找函數,用戶通過系統提示輸入要查找
7、的單詞,只要單詞庫中含有此單詞便能找到相應的中文或英文解釋,這個查找函數使用的是從頭到尾的線性查找法,雖然查找效率在數據很大時候是無法容忍的,但因為這里涉及的數據量很小,使用線性查找對系統性能上沒有很大影響。(2)add是增加函數,用戶可以通過此函數來增加單詞庫單詞的數量(3)modify是修改函數,程序提示用戶輸入要修改的單詞,使用線性查找的方法找到相應的單詞。如果找到,則提示輸入新的單詞及其解釋。(4)delete是刪除函數,程序提示用戶輸入要刪除的單詞,使用線性查找的方法找到相應的單詞,如果找到,提示用戶確認刪除,在得到確認后即刪除這個單詞的記錄。(5)主程序通過無限循環(huán)來接收輸入的命令
8、,并且根據命令調用相應的函數處理。3.2 功能模塊設計(1)英譯漢功能模塊說明:可以實現對英文單詞的查詢功能。用戶文本框中輸入要查詢的英文單詞。若該單詞存在于詞庫中,則會在文件對話框中顯示其詞性及中文翻譯;若該單詞沒有存在于詞庫中,則會彈出警告,說明查無此詞。(2)漢譯英功能模塊說明:可以實現對中文單詞的查詢功能。用戶文本框中輸入要查詢的中文單詞。若該單詞存在于詞庫中,則會在文件對話框中顯示其一個或多個對應的英文單詞;若該單詞沒有存在于詞庫中,則會彈出警告,說明查無此詞。(3)備份詞庫功能模塊說明:可以實現對現有詞庫的備份,可將當前詞庫存入用戶所設置的任意位置。(4)添加詞匯功能模塊說明:可以
9、實現對詞庫的添加。用戶可自行輸入所添加的單詞及其解釋,若添加的是詞庫中沒有的單詞,系統在添加成功后提示添加成功。若添加的是詞庫中已有的單詞,系統會彈出警告,說明此詞匯已存在。(5)修改詞匯功能模塊:可以實現對詞庫中已有單詞的修改。用戶可自行修改詞庫中的單詞及其解釋。若輸入的單詞不存在于詞庫中,系統會彈出警告,說明不存在此單詞。(6)刪除詞匯功能模塊:可以刪除詞庫中已有的單詞。用戶可自行刪除詞庫中已有的單詞,再刪除此單詞的同時,其解釋也會隨之被刪除,如輸入的單詞不存在于詞庫中,系統用會彈出警告,說明不存在此單詞。(7)其他功能模塊:在其他中有幫助和關于兩項。幫助中是有關于詞典的功能說明,關于中可
10、顯示版本信息。3.3 類的設計主要類設計:1. Loading類Loading類主要是要實現登陸界面和按鈕監(jiān)視器執(zhí)行動作的事件,和數據庫的連接。方法功能Loading()安排登陸界面布局LianJie()連接數據庫Chaxun()執(zhí)行登陸按鈕的動作事件DengLiPan()判斷文本框是否為空2. Register類Register類主要是實現注冊界面和按鈕監(jiān)視器執(zhí)行動作的事件,和數據庫的連接。方法功能Register()安排注冊界面布局LianJie()連接數據庫Chaxun()執(zhí)行確定按鈕的動作事件DengLiPan()判斷文本框是否為空3. Kellu類Kellu類為窗口主界面類,包括菜單
11、欄,工具欄,顯示欄,添加監(jiān)視器執(zhí)行動作的事件。方法功能Kehu()安排界面布局,設置菜單項和工具按鈕action Performed()執(zhí)行按鈕的動作事件valueChanged()下拉列表的監(jiān)聽事件4. ChaXun類ChaXun類細膩那兩個構造方法,分別是實現英漢,漢英查詢功能。方法功能JingQunEnglishCha()英譯漢的查詢JingQunChineseCha()漢譯英的查詢5Add類 Add類實現單詞的添加功能方法功能Add()設置“添加”窗口界面AddCha()實現和數據庫的連接6. Update類Update類,功能通過單擊主窗口界面的更新按鈕彈出更新小窗口,輸入更新的單詞
12、,對相應的解釋進行更新。方法功能Add()設置“添加”窗口界面AddCha()實現和數據庫的連接7. delect類delect類,功能通過單擊主窗口界面的刪除按鈕彈出刪除小窗口,輸入刪除的單詞進行刪除。方法功能delect()設置“刪除”窗口界面delectcha()實現和數據庫的連接8. help類hele類,功能通過單擊主窗口界面的幫助菜單下的幫助選項又彈出幫助窗口,通過網頁顯示單詞的想過說明,通過單擊頁面上的超鏈接來顯示另一網頁。方法 功能Help()設置幫助窗口界面Hyperlinkupdate()顯示新的URL資源9. Guanyu類 Guanyu類功能通過單擊主窗口界面的幫助菜單
13、下的關于彈出關于窗口,顯示詞典的使用說明。 方法 功能Guanyu()設置關于窗口界面界面設計思想創(chuàng)建窗體,設計菜單。定義菜單條JMenu mfile(文件)、medit(編輯)、mhelp(幫助),菜單子項JMenuItem edic(英漢詞典)、cdic(漢英詞典)、back_data(備份詞庫)、quit(退出)、addedit(添加詞匯)、modedi(修改詞匯)、deledit(刪除詞匯)、hhelp(幫助)、about(關于)。通過add( )方法將菜單子項添加到菜單中,并注冊監(jiān)聽者。定義一個文件對話框filedialog_save,并為之增加適配器。自定義一個面板,實現GUI元素
14、的布局。3.4 數據庫設計 Java數據庫連接(JDBC)由一組用 Java 編程語言編寫的類和接口組成。JDBC為工具/數據庫開發(fā)人員提供了一個標準的 API,使他們能夠用純Java API 來編寫數據庫應用程序。然而各個開發(fā)商的接口并不完全相同,所以開發(fā)環(huán)境的變化會帶來一定的配置變化。本系統采用的是Access數據庫的連接方式。英譯漢詞匯表字段名字段類型長度備注yingwudancichar30可為空yinbiaochar10可為空cixingchar10可為空jieshichar50可為空各功能模塊E-R圖如下:(1)文件模塊子E-R圖文件模塊中主要目的就是要完成英漢互譯功能。其中包括英
15、譯漢功能模塊,漢譯英模塊功能,備份詞庫模塊功能 文件英譯漢漢譯英備份詞庫退出(2)編輯模塊子E-R圖編輯模塊的主要目的就是要進行單詞的添加修改與刪除功能。 編輯添加詞匯修改詞匯刪除詞匯(3)其他模塊子E-R圖其它模塊的主要目的就是在用戶遇到問題時,在其它中有“幫助”與“關于”兩項,“幫助”中有關于詞典的功能說明,“關于”可顯示版本信息。 其它幫助關于四、程序實現4.1 程序流程圖分析電子詞典的總體情況,劃分系統邊界,識別系統的數據來源和去處,確定外部實體,得出系統的頂層數據流程圖;然后劃分出幾個主要的信息管理功能,本系統的主要數據的工作流包括以下幾個方面:英漢詞典,漢英詞典,備份詞庫,添加詞匯
16、,修改詞匯,幫助。明確各功能之間的聯系,繪制出數據流程圖,如下圖所示: 開始顯示菜單輸入選項輸入單詞輸入詞性輸入音標輸入中文輸入顯示信息輸入刪除的單詞判斷循環(huán)體查找判斷顯示無法找到顯示刪除成功顯示查詢選項輸入英文單詞輸入中文意思判斷判斷循環(huán)體循環(huán)體計算判斷顯示無法找到顯示查找信息判斷顯示無法找到顯示查找信息結束計算 4.2 關鍵算法與技術實現菜單窗口class DataWindow extends JFrame implements ActionListenertryfis = new FileInputStream(fromfile);int bytesRead; /定義變量來存儲輸入流中讀
17、取出來的文件byte buf = new byte4*1024; /4K bufferFile tofile = new File(filedialog_save.getDirectory(),filedialog_save.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) publ
18、ic void Listwords() throws SQLException /實現查詢功能String cname,ename;tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundException e)/建立橋接器Connection Ex1Con = DriverManager.getConnection("jdbc:odbc:03","","");Statement Ex1Stmt = Ex1Con.createState
19、ment();if(label.getText().equals("輸入要查詢的英語單詞:")ResultSet rs = Ex1Stmt.executeQuery("SELECT * FROM 表1");while( rs.next()ename = rs.getString("單詞");cname = rs.getString("解釋");if(ename.equals(englishtext.getText()chinesetext.append(cname+'n');public class
20、 Dicpublic static void main(String args) JFrame.setDefaultLookAndFeelDecorated(true);DataWindow window = new DataWindow();window.validate(); /AddWin add = new AddWin(); public void add() 單詞的添加public class AddWin extends JFrame implements ActionListener JTextField 添加漢語解釋_文本條,添加英語單詞_文本條; JButton addbt
21、n,cancelbtn; Connection Con=null; Statement Stmt=null; public void actionPerformed(ActionEvent e) if(e.getSource()=addbtn) if(添加英語單詞_文本條.getText().equals("")| 添加漢語解釋_文本條.getText().equals("") JOptionPane.showMessageDialog(this,"添加的單詞或解釋不能為空!","警告", JOptionPane.
22、WARNING_MESSAGE); / 判斷輸入框不能為空 else try 添加(); catch(SQLException ee) else if(e.getSource()=cancelbtn) dispose(); while(boo=rs.next()=true)ename=rs.getString("單詞");cname=rs.getString("解釋");if(ename.equals(添加英語單詞_文本條.getText()JOptionPane.showMessageDialog(this,"此詞匯已存在!",&q
23、uot;警告",JOptionPane.WARNING_MESSAGE);break;if(boo=false)String s1="'"+添加英語單詞_文本條.getText().trim()+"'",s2="'"+添加漢語解釋_文本條.getText().trim()+"'" String temp="INSERT INTO 表1 VALUES ("+s1+","+s2+")" Stmt.executeUpda
24、te(temp);JOptionPane.showMessageDialog(this,"添加成功!","恭喜",JOptionPane.WARNING_MESSAGE);dispose();Con.close(); 單詞的刪除class DelWin extends JFrame implements ActionListener JTextField 刪除單詞_文本條; JButton delbtn,cancelbtn; Connection Con = null; Statement Stmt = null; public void actionP
25、erformed(ActionEvent e) if(e.getSource()=delbtn) if(刪除單詞_文本條.getText().equals("") JOptionPane.showMessageDialog(this,"刪除的單詞不能為空!","警告", JOptionPane.WARNING_MESSAGE); / 判斷輸入框不能為空 else try 刪除(); catch(SQLException ee) else if(e.getSource()=cancelbtn) dispose(); while(boo=
26、rs.next()=true)ename=rs.getString("單詞");cname=rs.getString("解釋");if(ename.equals(刪除單詞_文本條.getText()String s1="'"+刪除單詞_文本條.getText().trim()+"'" String temp="DELETE FROM 表1 WHERE 單詞="+s1;Stmt.executeUpdate(temp);JOptionPane.showMessageDialog(th
27、is,"成功刪除記錄!","恭喜",JOptionPane.WARNING_MESSAGE);dispose();break;單詞的修改class ModifyWin extends JFrame implements ActionListenerJTextField 修改英語單詞_文本條,修改漢語解釋_文本條;JButton modifybtn,cancelbtn;Connection Con=null;Statement Stmt=null;public void actionPerformed(ActionEvent e)if(e.getSourc
28、e()=modifybtn)if(修改英語單詞_文本條.getText().equals("")| 修改漢語解釋_文本條.getText().equals("") JOptionPane.showMessageDialog(this,"修改的單詞或解釋不能為空!","警告", JOptionPane.WARNING_MESSAGE);/ 判斷輸入框不能為空elsetry修改(); catch(SQLException ee) else if(e.getSource()=cancelbtn) dispose(); i
29、f(ename.equals(修改英語單詞_文本條.getText()String s1="'"+修改英語單詞_文本條.getText().trim()+"'",s2="'"+修改漢語解釋_文本條.getText().trim()+"'"String temp="UPDATE 表1 SET 解釋="+s2+" WHERE 單詞 = "+s1;Stmt.executeUpdate(temp);JOptionPane.showMessageDial
30、og(this,"記錄修改成功!","恭喜",JOptionPane.WARNING_MESSAGE);dispose();break;幫助public class HelpFrame extends JFrame public HelpFrame() super("Help");setBounds( 120, 50, 275, 260);HtmlPane html = new HtmlPane();setContentPane(html); public static void main(String args) HelpFrame
31、 help=new HelpFrame();help.setVisible(true);System.out.println("Hello World!");class HtmlPane extends JScrollPane implements HyperlinkListener JEditorPane html;public void run() if (url = null) html.setCursor(cursor); Container parent = html.getParent(); parent.repaint(); else Document doc
32、 = html.getDocument(); try html.setPage(url); catch (IOException ioe) html.setDocument(doc); getToolkit().beep(); finally url = null; SwingUtilities.invokeLater(this); 4.3 類與數據結構實現本系統采用的是Access數據庫的連接方式,Access數據庫使用ODBC直連 方式如下:加載驅動程序:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ; 與數據庫建立連接:S
33、tring url="jdbc:odbc:Driver=MicroSoft Access Driver (*.mdb);DBQ="+application.getRealPath("/Data/ReportDemo.mdb");Connection conn = DriverManager.getConnection(url,"","");創(chuàng)建JDBC Statement對象:Statement stmtNew=conn.createStatement() ;注意:首先要配置數據源: 控制面版->管理工具-&
34、gt;數據源->系統DSN->添加->選擇Microsort Access Drive(*.mdb)->完成->寫個數據源名(隨意)->選擇->找到你的access文件->確定,接下來再進行你的操作。五、測試運行5.1 系統測試方案1,電子詞典功能測試:運行程序,彈出電子詞典運行窗口。若沒有顯示出來,則程序錯誤。2,電子詞典查詢功能測試:運行程序后,在單詞框內輸入要查詢的單詞,單擊查詢按鈕,若顯示出所查單詞的意思,則程序運行成功。若點擊無反應,則程序錯誤。3,電子詞典添加功能測試:運行程序后,點擊添加按鈕,彈出添加運行窗口,若沒有彈出,則程序錯誤
35、。若成功在單詞框內輸入要添加的單詞,點擊完成按鈕,若彈出成功窗口,則程序正確,反之則程序錯誤。4,電子詞典修改功能測試:運行程序后,點擊修改按鈕,彈出修改運行窗口,若沒有彈出,則程序錯誤。若成功在單詞框內輸入要修改的單詞,點擊完成按鈕,若彈出成功窗口,則程序正確,反之則程序錯誤。5,電子詞典刪除功能測試:運行程序后,點擊刪除按鈕,彈出刪除運行窗口,若沒有彈出,則程序錯誤。若成功在單詞框內輸入要刪除的單詞,點擊完成按鈕,若彈出成功窗口,則程序正確,反之則程序錯誤。5.2 運行結果分析(1)此窗口為菜單窗口,用戶可在此窗口內選擇應用的內容。其中文件目錄中包括:英漢詞典,漢英詞典,備份文庫。編輯目錄
36、中包括:單詞的添加,修改刪除。 如圖5.2.1 圖5.2.1菜單界面運行圖(2)用戶可在窗口內輸入要查詢的單詞,輸入完畢后點擊查詢將出現次單詞的解釋及其詞性。如輸入的單詞不存在詞庫中,則顯示查無此單詞。如圖5.2.2和5.2.3圖5.2.2單詞查詢圖 圖5.2.3單詞查詢運行圖 (3)若用戶需要在詞庫中添加新的單詞,則選擇單詞的添加。用戶可輸入想要添加的單詞及其解釋和詞性。單擊確定后,次單詞保存在詞庫中。如圖5.2.4圖5.2.4 單詞添加運行圖(4)用戶想要修改詞庫中已存在的單詞,可選擇單詞的修改。用戶可對該單詞及其解釋進行修改。修改并保存后單擊確定,系統將提示用戶記錄修改成功。如圖5.2.5 圖5.2.5單詞修改運行圖(5)想要刪除詞庫中已存在的單詞,可選擇單詞的刪除。輸入想要刪除的單詞,點擊確定后,此單詞及其解釋一并刪除。刪除后,系統提示用戶單詞刪除成功。如圖5.2.6 圖5.2.6單詞刪除運行圖(6)用戶可點擊幫助來更好的了解電子詞典的功能及其用法。如圖5.2.7 圖5.2.7幫助菜單運行圖六、設計體會此次課程設計是關于電子英漢詞典系統設計,在這個過程中,我遇到了很多問題,也更加了解JAVA。Java與C+語言非常相近,但Java比C+簡單,它拋棄了C+中的一些不是絕對必要的功能,如
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年四人共同經營民宿的合伙協議書
- 二零二五年度出租車車輛租賃與智能駕駛技術研發(fā)合同3篇
- 二零二五年度展會現場搭建及展品運輸合同3篇
- 2025年度高空作業(yè)安全防護施工合同范本4篇
- 二零二五年度城市綠化養(yǎng)護承包合同范本8篇
- 2025年度電動汽車充電樁安全檢測與維護服務合同3篇
- 2025年新媒體營銷活動合作協議范本2篇
- 2025年度泥瓦工勞務分包合同工期延誤責任協議
- 2025版農業(yè)機械銷售訂購合同(年度版)3篇
- 二零二五年度廚房空間布局優(yōu)化承包服務協議4篇
- 2024年江蘇省鹽城市中考數學試卷真題(含答案)
- DZ∕T 0287-2015 礦山地質環(huán)境監(jiān)測技術規(guī)程(正式版)
- 2024年合肥市廬陽區(qū)中考二模英語試題含答案
- 質檢中心制度匯編討論版樣本
- 藥娘激素方案
- 提高靜脈留置使用率品管圈課件
- GB/T 10739-2023紙、紙板和紙漿試樣處理和試驗的標準大氣條件
- 《心態(tài)與思維模式》課件
- C語言程序設計(慕課版 第2版)PPT完整全套教學課件
- 行業(yè)會計比較(第三版)PPT完整全套教學課件
- 危險化學品企業(yè)安全生產標準化課件
評論
0/150
提交評論