




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件學院課程設計報告書課程名稱設計題目專業班級學號姓名指導教師年月目錄1設計時間 12設計目的 13設計任務 14設計內容 1 1 1 1 14.2.1包的描述 14.2.2類的描述 2 2 2 3 35功能模塊的實現 3 36運行與實現 127總結與展望 19參考文獻 20成績評定 201設計時間2014年6月16日-2014年6月20日2設計目的隨著科學技術的不斷提高,計算機科學目漸成熟,計算機怩深入到工作和生活的各個角落,文字錄入是學習計算機非常重要的一部分。在手寫錄入技術和語音識別技術還不完善的同時大部分人還在使用鍵盤作為文字錄入的工具。所以我編了這樣一個小程序,同時也是我的面向對象程序設計的課程設計。希望能對電腦初學都和想提高打字速度的朋友們有所幫助。本系統構建學生打字練習系統,基于所開發的打字程序界面友好,圖形復雜。打字練習程序中應用到eclipse最新版本,java1.6以上版本的jdk。對于打字測試進入整體的部署。完成打字練習程序開發,培養程序設計和開發能力。3設計題目設計一個英文打字測試軟件。從文件中調入英文錄入材料,最后可以給出錯誤率,平均錄入速度。4設計內容設計一個英文打字測試軟件1.文件中調入英文錄入材料2.最后給出錯誤率3.最后給出平均錄入速度總體設計4.2.1包的描述由于本次實驗使用的類較少,所有的類都建在同一個包下,本次試驗也只用到了一個包。4.2.2類的描述EnglishGame類:主要構造都在這里完成。MyKey類:是該程序的一個內部類。EnglishGame作為主函數的入口。調用actionPerformed類的方法實現事件監聽器。當發生點擊事件時就會彈出輸入框,開始英文打字功能。從而達到打字訓練測試的目的。圖1EnglishGame類圖圖2MyKey類圖頁面設計分為一個選擇框可以選擇“退出”,“簡單”,“困難”,“普通”四個部分,然后分上下兩個框是輸入內容與原內容相比,最后顯示測試結果框。5功能模塊實現importjava.awt.Color;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.Font;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;importjava.io.File;importjava.io.FileReader;importjava.util.Date;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextPane;importjavax.swing.SwingUtilities;//所使用的包publicclassEnglishGameimplementsActionListener{ privatestaticJFramef=newJFrame("英文打字游戲"); privatestaticContainercon=f.getContentPane(); JPanelmainPanel,panel0,panel1,panel2,panel3,panel4,panel5,panel6,panel7; JButtonbutton1,button2,button3,button4,button,button5,button6; JTextPanetp1,tp2; FileReaderfr; Filefrr; Datedate1,date2; intnum,len1,len2,count; longtime; doublerightrate; char[]ch; publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub Stringcmd=e.getActionCommand(); date1=newDate(); if(cmd.equals("6.退出")) { System.exit(0); } elseif(cmd.equals("返回")) { } else { JFramef1=newJFrame("英文打字游戲"); f1.setSize(350,750); f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Containercon1=f1.getContentPane(); panel0=newJPanel(); panel1=newJPanel(); panel2=newJPanel(); panel3=newJPanel(); panel4=newJPanel(); panel6=newJPanel(); panel7=newJPanel(); tp1=newJTextPane(); tp1.setBackground(Color.pink); Fontsize=newFont("ad",Font.BOLD,20); tp1.setFont(size); tp1.setPreferredSize(newDimension(300,300)); tp1.setForeground(Color.white); tp2=newJTextPane(); tp2.setBackground(Color.lightGray); tp2.setFont(size); tp2.setPreferredSize(newDimension(300,300)); try { if(cmd.equals("1.文本1")) { fr=newFileReader("D:\\文本1.txt"); frr=newFile("D:\\文本1.txt"); num=(int)frr.length(); ch=newchar[num]; while(fr.read(ch)!=-1) { Stringstr=newString(ch); tp1.setText(str); } } elseif(cmd.equals("2.文本2")) { fr=newFileReader("D:\\文本2.txt"); frr=newFile("D:\\文本2.txt"); num=(int)frr.length(); ch=newchar[num]; while(fr.read(ch)!=-1) { Stringstr=newString(ch); tp1.setText(str); } } elseif(cmd.equals("3.文本3")) { fr=newFileReader("D:\\文本3.txt"); frr=newFile("D:\\文本3.txt"); num=(int)frr.length(); ch=newchar[num]; while(fr.read(ch)!=-1) { Stringstr=newString(ch); tp1.setText(str); } } elseif(cmd.equals("4.文本4")) { fr=newFileReader("D:\\文本4.txt"); frr=newFile("D:\\文本4.txt"); num=(int)frr.length(); ch=newchar[num]; while(fr.read(ch)!=-1) { Stringstr=newString(ch); tp1.setText(str); } } elseif(cmd.equals("5.文本5")) { fr=newFileReader("D:\\文本5.txt"); frr=newFile("D:\\文本5.txt"); num=(int)frr.length(); ch=newchar[num]; while(fr.read(ch)!=-1) { Stringstr=newString(ch); tp1.setText(str); } } } catch(Exceptionarg) { System.out.println(arg); } button=newJButton("返回"); button.addActionListener(this); panel1.add(newJLabel("參考練習:")); panel1.add(button); panel2.add(tp1); panel3.add(newJLabel("練習狀況:")); panel4.add(tp2); panel0.add(panel1); panel0.add(panel2); panel0.add(panel3); panel0.add(panel4); panel0.add(panel6); panel0.add(panel7); con1.add(panel0); f1.setVisible(true); tp2.requestFocus(true); date1=newDate(); tp2.addKeyListener(newMyKey()); } }privateclassMyKeyextendsKeyAdapter{ @Override publicvoidkeyReleased(KeyEventarg0){ //TODOAuto-generatedmethodstub len1=tp1.getText().length(); len2=tp2.getText().length(); if(len2==len1) { JFramef2=newJFrame("英文打字游戲"); f2.setSize(250,150); f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Containercon2=f2.getContentPane(); date2=newDate(); time=(date2.getTime()-date1.getTime())/1000; count=0; for(inti=0;i<len1;i++) { if(tp2.getText().toString().charAt(i)==tp1.getText().toString().charAt(i)) count++; } rightrate=(double)count/len1*100; panel0=newJPanel(); panel1=newJPanel(); panel2=newJPanel(); panel3=newJPanel(); panel1.add(newJLabel("恭喜完成本次游戲測試!")); panel2.add(newJLabel("游戲總共耗時:"+time+"秒"+"平均速率:"+len1/time+"字/秒")); panel3.add(newJLabel("您的正確率為:"+rightrate+"%")); panel0.add(panel1); panel0.add(panel2); panel0.add(panel3); con2.add(panel0); f2.setVisible(true); } elseif(len2>len1){ System.exit(0); } } } publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub f.setSize(200,300); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); con.add(newEnglishGame().creatMenu()); f.setVisible(true); } publicJPanelcreatMenu(){ mainPanel=newJPanel(); panel0=newJPanel(); panel1=newJPanel(); panel2=newJPanel(); panel3=newJPanel(); panel4=newJPanel(); panel5=newJPanel(); panel6=newJPanel(); panel7=newJPanel(); button1=newJButton("1.文本1"); button2=newJButton("2.文本2"); button3=newJButton("3.文本3"); button4=newJButton("4.文本4"); button5=newJButton("5.文本5"); button6=newJButton("6.退出"); panel0.add(newJLabel("歡迎使用英文打字測試系統")); panel1.add(newJLabel("請選擇游戲難度:")); button1.addActionListener(this); button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); button5.addActionListener(this); button6.addActionListener(this); panel2.add(button1); panel3.add(button2); panel4.add(button3); panel5.add(button4); panel6.add(button5); panel7.add(button6); mainPanel.add(panel0); mainPanel.add(panel1); mainPanel.add(panel2); mainPanel.add(panel3); mainPanel.add(panel4); mainPanel.add(panel5); mainPanel.add(panel6); main
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 許昌職業技術學院《實驗設計方法》2023-2024學年第一學期期末試卷
- 山東省單縣一中2024-2025學年高三適應性月考(七)英語試題含解析
- 煙臺幼兒師范高等專科學校《耐火材料工藝學》2023-2024學年第二學期期末試卷
- 江蘇省鹽城市響水縣2025年初三第二學期第二次綜合練習化學試題文試卷含解析
- 天津現代職業技術學院《英語語言學概論》2023-2024學年第二學期期末試卷
- 廈門醫學院《測繪學科》2023-2024學年第二學期期末試卷
- 電商培訓合同范文
- 二零二五版借款補充合同
- 二零二五版房屋裝修半包合同范文
- 二零二五山地租賃合同范例
- (正式版)SHT 3551-2024 石油化工儀表工程施工及驗收規范
- 中考復習平行四邊形專題
- 國家開放大學《Python語言基礎》形考任務4參考答案
- 特殊兒童心理與教育
- 上海中小學創新試驗室建設指引
- 人音版四年級音樂下冊全冊教學設計教案表格式
- 保險公司投保規劃方案模板
- 蜜雪冰城財務分析
- 2024年山西交通控股集團有限公司招聘筆試參考題庫附帶答案詳解
- 喀什草湖鎮發展規劃方案
- 人教版培智生活數學一年級下冊比長短(一)課件
評論
0/150
提交評論