版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件學(xué)院課程設(shè)計(jì)報(bào)告書課程名稱設(shè)計(jì)題目專業(yè)班級(jí)學(xué)號(hào)姓名指導(dǎo)教師年月目錄1設(shè)計(jì)時(shí)間 12設(shè)計(jì)目的 13設(shè)計(jì)任務(wù) 14設(shè)計(jì)內(nèi)容 1 1 1 1 14.2.1包的描述 14.2.2類的描述 2 2 2 3 35功能模塊的實(shí)現(xiàn) 3 36運(yùn)行與實(shí)現(xiàn) 127總結(jié)與展望 19參考文獻(xiàn) 20成績?cè)u(píng)定 201設(shè)計(jì)時(shí)間2014年6月16日-2014年6月20日2設(shè)計(jì)目的隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)目漸成熟,計(jì)算機(jī)怩深入到工作和生活的各個(gè)角落,文字錄入是學(xué)習(xí)計(jì)算機(jī)非常重要的一部分。在手寫錄入技術(shù)和語音識(shí)別技術(shù)還不完善的同時(shí)大部分人還在使用鍵盤作為文字錄入的工具。所以我編了這樣一個(gè)小程序,同時(shí)也是我的面向?qū)ο蟪绦蛟O(shè)計(jì)的課程設(shè)計(jì)。希望能對(duì)電腦初學(xué)都和想提高打字速度的朋友們有所幫助。本系統(tǒng)構(gòu)建學(xué)生打字練習(xí)系統(tǒng),基于所開發(fā)的打字程序界面友好,圖形復(fù)雜。打字練習(xí)程序中應(yīng)用到eclipse最新版本,java1.6以上版本的jdk。對(duì)于打字測(cè)試進(jìn)入整體的部署。完成打字練習(xí)程序開發(fā),培養(yǎng)程序設(shè)計(jì)和開發(fā)能力。3設(shè)計(jì)題目設(shè)計(jì)一個(gè)英文打字測(cè)試軟件。從文件中調(diào)入英文錄入材料,最后可以給出錯(cuò)誤率,平均錄入速度。4設(shè)計(jì)內(nèi)容設(shè)計(jì)一個(gè)英文打字測(cè)試軟件1.文件中調(diào)入英文錄入材料2.最后給出錯(cuò)誤率3.最后給出平均錄入速度總體設(shè)計(jì)4.2.1包的描述由于本次實(shí)驗(yàn)使用的類較少,所有的類都建在同一個(gè)包下,本次試驗(yàn)也只用到了一個(gè)包。4.2.2類的描述EnglishGame類:主要構(gòu)造都在這里完成。MyKey類:是該程序的一個(gè)內(nèi)部類。EnglishGame作為主函數(shù)的入口。調(diào)用actionPerformed類的方法實(shí)現(xiàn)事件監(jiān)聽器。當(dāng)發(fā)生點(diǎn)擊事件時(shí)就會(huì)彈出輸入框,開始英文打字功能。從而達(dá)到打字訓(xùn)練測(cè)試的目的。圖1EnglishGame類圖圖2MyKey類圖頁面設(shè)計(jì)分為一個(gè)選擇框可以選擇“退出”,“簡單”,“困難”,“普通”四個(gè)部分,然后分上下兩個(gè)框是輸入內(nèi)容與原內(nèi)容相比,最后顯示測(cè)試結(jié)果框。5功能模塊實(shí)現(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("恭喜完成本次游戲測(cè)試!")); panel2.add(newJLabel("游戲總共耗時(shí):"+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("歡迎使用英文打字測(cè)試系統(tǒng)")); panel1.add(newJLabel("請(qǐng)選擇游戲難度:")); 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等.壓縮文件請(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026年初三化學(xué)(溶液)上學(xué)期試題及答案
- 2025年大學(xué)工商管理(創(chuàng)業(yè)管理基礎(chǔ))試題及答案
- 高中二年級(jí)化學(xué)(化學(xué)反應(yīng)原理)2026年上學(xué)期期末測(cè)評(píng)卷
- 2025年中職汽車美容(汽車清潔養(yǎng)護(hù))試題及答案
- 2023年中考數(shù)學(xué)復(fù)習(xí)微專題靶向提升練習(xí)+二次函數(shù)+選擇題、填空題專練+
- 2025年it部個(gè)人年終總結(jié)報(bào)告
- 2025個(gè)人質(zhì)量總結(jié)報(bào)告檢驗(yàn)員個(gè)人年終總結(jié)
- 深度解析(2026)《GBT 18132-2016絲綢服裝》
- 深度解析(2026)《GBT 17980.121-2004農(nóng)藥 田間藥效試驗(yàn)準(zhǔn)則(二) 第121部分殺菌劑防治葡萄白腐病》
- 深度解析(2026)《GBT 17980.5-2000農(nóng)藥 田間藥效試驗(yàn)準(zhǔn)則(一) 殺蟲劑防治棉鈴蟲》
- 2025內(nèi)蒙古鄂爾多斯東勝區(qū)消防救援大隊(duì)招聘鄉(xiāng)鎮(zhèn)(街道)消防安全服務(wù)中心專職工作人員招聘3人考試筆試模擬試題及答案解析
- 2025年安全總監(jiān)年終總結(jié)報(bào)告
- 安順市人民醫(yī)院招聘聘用專業(yè)技術(shù)人員筆試真題2024
- 2025年10月自考00688設(shè)計(jì)概論試題及答案
- 六西格瑪設(shè)計(jì)實(shí)例
- 工業(yè)交換機(jī)產(chǎn)品培訓(xùn)
- 2025浙江溫州市龍港市國有企業(yè)招聘產(chǎn)業(yè)基金人員3人筆試歷年備考題庫附帶答案詳解試卷3套
- 《十五五規(guī)劃》客觀測(cè)試題及答案解析(二十屆四中全會(huì))
- 代碼開發(fā)安全培訓(xùn)課件
- 學(xué)堂在線 積極心理學(xué)(上)厚德載物篇 章節(jié)測(cè)試答案
- 高中物理 人教版 必修二 圓周運(yùn)動(dòng)-1圓周運(yùn)動(dòng)教學(xué)
評(píng)論
0/150
提交評(píng)論