版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
軟件學(xué)院課程設(shè)計報告書課程名稱設(shè)計題目專業(yè)班級學(xué)號姓名指導(dǎo)教師年月目錄1設(shè)計時間 12設(shè)計目的 13設(shè)計任務(wù) 14設(shè)計內(nèi)容 1 1 1 1 14.2.1包的描述 14.2.2類的描述 2 2 2 3 35功能模塊的實現(xiàn) 3 36運行與實現(xiàn) 127總結(jié)與展望 19參考文獻 20成績評定 201設(shè)計時間2014年6月16日-2014年6月20日2設(shè)計目的隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)目漸成熟,計算機怩深入到工作和生活的各個角落,文字錄入是學(xué)習(xí)計算機非常重要的一部分。在手寫錄入技術(shù)和語音識別技術(shù)還不完善的同時大部分人還在使用鍵盤作為文字錄入的工具。所以我編了這樣一個小程序,同時也是我的面向?qū)ο蟪绦蛟O(shè)計的課程設(shè)計。希望能對電腦初學(xué)都和想提高打字速度的朋友們有所幫助。本系統(tǒng)構(gòu)建學(xué)生打字練習(xí)系統(tǒng),基于所開發(fā)的打字程序界面友好,圖形復(fù)雜。打字練習(xí)程序中應(yīng)用到eclipse最新版本,java1.6以上版本的jdk。對于打字測試進入整體的部署。完成打字練習(xí)程序開發(fā),培養(yǎng)程序設(shè)計和開發(fā)能力。3設(shè)計題目設(shè)計一個英文打字測試軟件。從文件中調(diào)入英文錄入材料,最后可以給出錯誤率,平均錄入速度。4設(shè)計內(nèi)容設(shè)計一個英文打字測試軟件1.文件中調(diào)入英文錄入材料2.最后給出錯誤率3.最后給出平均錄入速度總體設(shè)計4.2.1包的描述由于本次實驗使用的類較少,所有的類都建在同一個包下,本次試驗也只用到了一個包。4.2.2類的描述EnglishGame類:主要構(gòu)造都在這里完成。MyKey類:是該程序的一個內(nèi)部類。EnglishGame作為主函數(shù)的入口。調(diào)用actionPerformed類的方法實現(xiàn)事件監(jiān)聽器。當(dāng)發(fā)生點擊事件時就會彈出輸入框,開始英文打字功能。從而達到打字訓(xùn)練測試的目的。圖1EnglishGame類圖圖2MyKey類圖頁面設(shè)計分為一個選擇框可以選擇“退出”,“簡單”,“困難”,“普通”四個部分,然后分上下兩個框是輸入內(nèi)容與原內(nèi)容相比,最后顯示測試結(jié)果框。5功能模塊實現(xiàn)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("參考練習(xí):")); panel1.add(button); panel2.add(tp1); panel3.add(newJLabel("練習(xí)狀況:")); 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("歡迎使用英文打字測試系統(tǒng)")); 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年物聯(lián)網(wǎng)技術(shù)應(yīng)用項目融資信托借款合同3篇
- 2024年環(huán)保型復(fù)合木地板銷售代理合同3篇
- 2024年車牌租賃網(wǎng)絡(luò)安全合同
- 項目部施工安全質(zhì)量卡死及處罰制度(2篇)
- 2024年標(biāo)準(zhǔn)服務(wù)器租用合同樣本版
- 公司2025年下半年工作計劃樣本(3篇)
- 2024年度物流管理系統(tǒng)軟件產(chǎn)品銷售與實施服務(wù)協(xié)議3篇
- 2025版音樂器材行業(yè)環(huán)保與可持續(xù)發(fā)展合同3篇
- 2024年軟件開發(fā)與定制合同:企業(yè)資源管理系統(tǒng)
- 2025年“學(xué)整樹”心得體會樣本(2篇)
- 車膜品牌推廣方案
- 消化道出血的PBL教學(xué)查房
- 2024年小學(xué)四年級數(shù)學(xué)上冊??家族e題綜合測評卷
- 小學(xué)數(shù)學(xué)五年級下冊通分練習(xí)100題附答案
- 湖南省張家界市慈利縣2023-2024學(xué)年六年級上學(xué)期期末考試綜合(道德與法治、科學(xué))試題
- 工程項目管理(三控三管一協(xié)調(diào))
- 游戲機策劃方案
- 2024消防安全基礎(chǔ)知識培訓(xùn)課件
- 《小兒留置導(dǎo)尿管》課件
- 粵教版科學(xué)四年級上冊全冊試卷(含答案)
- 宮腔鏡診治規(guī)范
評論
0/150
提交評論