![[精品論文]JAVA課程設(shè)計(論文)_反轉(zhuǎn)字符串_第1頁](http://file.renrendoc.com/FileRoot1/2019-7/13/dc5f642e-4da1-4898-9777-0c00585330d9/dc5f642e-4da1-4898-9777-0c00585330d91.gif)
![[精品論文]JAVA課程設(shè)計(論文)_反轉(zhuǎn)字符串_第2頁](http://file.renrendoc.com/FileRoot1/2019-7/13/dc5f642e-4da1-4898-9777-0c00585330d9/dc5f642e-4da1-4898-9777-0c00585330d92.gif)
![[精品論文]JAVA課程設(shè)計(論文)_反轉(zhuǎn)字符串_第3頁](http://file.renrendoc.com/FileRoot1/2019-7/13/dc5f642e-4da1-4898-9777-0c00585330d9/dc5f642e-4da1-4898-9777-0c00585330d93.gif)
![[精品論文]JAVA課程設(shè)計(論文)_反轉(zhuǎn)字符串_第4頁](http://file.renrendoc.com/FileRoot1/2019-7/13/dc5f642e-4da1-4898-9777-0c00585330d9/dc5f642e-4da1-4898-9777-0c00585330d94.gif)
![[精品論文]JAVA課程設(shè)計(論文)_反轉(zhuǎn)字符串_第5頁](http://file.renrendoc.com/FileRoot1/2019-7/13/dc5f642e-4da1-4898-9777-0c00585330d9/dc5f642e-4da1-4898-9777-0c00585330d95.gif)
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計課程定做 QQ1714879127大 學(xué)JAVA程序設(shè)計 課程設(shè)計(論文)題目: 反轉(zhuǎn)字符串 程序設(shè)計專題(報告)任務(wù)及評語院(系):軟件學(xué)院 教研室:軟件教研室學(xué) 號學(xué)生姓名專業(yè)班級軟件技術(shù)091程序設(shè)計(報告)題目反轉(zhuǎn)字符串程序設(shè)計(報告)任務(wù)程序設(shè)計專題的任務(wù)與要求:(1)掌握J(rèn)ava編程、面向?qū)ο蟮幕A(chǔ)知識。(2)較熟練地編寫Java應(yīng)用程序Application。(3)了解Java的常用標(biāo)準(zhǔn)類庫、編程技巧、異常處理。(5)聯(lián)系已學(xué)過的內(nèi)容,鞏固所學(xué)的理論,增強獨立工作能力。(6)通過設(shè)計主要使學(xué)生有一個獨立編寫程序的過程,對理論學(xué)習(xí)及動手能力都有一個很大的提高。(7)通過本次設(shè)計,進(jìn)一步培養(yǎng)學(xué)生熱愛專業(yè)的思想,同時對本專業(yè)綜合素質(zhì)的提高起一個積極的推動作用。課程設(shè)計過程中,要嚴(yán)格遵守實踐環(huán)節(jié)的時間安排,聽從指導(dǎo)教師的指導(dǎo)。正確地完成上述內(nèi)容,記錄實習(xí)日記,規(guī)范完整地撰寫出課程設(shè)計報告。指導(dǎo)教師評語及成績成績: 指導(dǎo)教師簽字: 2009 年 12 月 20 日畢業(yè)設(shè)計課程定做 QQ1714879127遼 寧 工 業(yè) 大 學(xué) 課 程 設(shè) 計 說 明 書(論 文)目 錄第1章 課程設(shè)計的目的與要求11.1 課程設(shè)計目的11.2 課程設(shè)計的實驗環(huán)境11.3 課程設(shè)計的預(yù)備知識11.4 課程設(shè)計要求1第2章 課程設(shè)計內(nèi)容22.1課程設(shè)計主要內(nèi)容22.2概要設(shè)計22.2.1自定義類說明22.3 數(shù)據(jù)庫設(shè)計52.4詳細(xì)設(shè)計52.5測試分析142.5.1程序運行情況142.5.2程序異常處理14第3章 課程設(shè)計總結(jié)15參考資料 16第1章 課程設(shè)計的目的與要求1.1 課程設(shè)計目的JAVA程序設(shè)計是計算機相關(guān)專業(yè)的必修專業(yè)基礎(chǔ)課程,其實踐性、應(yīng)用性很強。實踐教學(xué)環(huán)節(jié)是必不可少的一個重要環(huán)節(jié)。本課程的程序設(shè)計專題實際是計算機相關(guān)專業(yè)學(xué)生學(xué)習(xí)完JAVA程序設(shè)計課程后,進(jìn)行的一次全面的綜合訓(xùn)練,JAVA程序設(shè)計的設(shè)計目的是加深對理論教學(xué)內(nèi)容的理解和掌握,使學(xué)生較系統(tǒng)地掌握程序設(shè)計及其在網(wǎng)絡(luò)開發(fā)中的廣泛應(yīng)用,基本方法及技巧,為學(xué)生綜合運用所學(xué)知識,利用軟件工程為基礎(chǔ)進(jìn)行軟件開發(fā)、并在實踐應(yīng)用方面打下一定基礎(chǔ)。1.2 課程設(shè)計的實驗環(huán)境硬件要求能運行Windows 9.X操作系統(tǒng)的微機系統(tǒng)。JAVA程序設(shè)計語言及相應(yīng)的集成開發(fā)環(huán)境,J2SDK和ECLIPSE開發(fā)工具。1.3 課程設(shè)計的預(yù)備知識熟悉JAVA語言及ECLIPSE開發(fā)工具。1.4 課程設(shè)計要求按課程設(shè)計指導(dǎo)書提供的課題,要求學(xué)生在自行完成各個操作環(huán)節(jié),并能實現(xiàn)且達(dá)到舉一反三的目的,完成一個項目解決一類問題。要求學(xué)生能夠全面、深入理解和熟練掌握所學(xué)內(nèi)容,并能夠用其分析、設(shè)計和解答類似問題;對此能夠較好地理解和掌握,能夠進(jìn)行簡單分析和判斷;能編寫出具有良好風(fēng)格的程序;掌握J(rèn)AVA程序設(shè)計的基本技能和面向?qū)ο蟮母拍詈头椒?;了解多線程、安全和網(wǎng)絡(luò)等編程技術(shù)。同時培養(yǎng)學(xué)生進(jìn)行分析問題、解決問題的能力;培養(yǎng)學(xué)生進(jìn)行設(shè)計分析、設(shè)計方法、設(shè)計操作與測試、設(shè)計過程的觀察、理解和歸納能力的提高。第2章 課程設(shè)計內(nèi)容2.1課程設(shè)計主要內(nèi)容Java程序反轉(zhuǎn)字符串是JAVA語言的簡單應(yīng)用。圖形界面的實現(xiàn):考慮到簡單、實用、高效等特點,就選擇了java窗體實現(xiàn),在選擇組件上,文本編輯區(qū)就選用了TaxtArea作為主要的部件。 線程實現(xiàn)文件自動保存:在相關(guān)的參考書上查閱到在Frame類中有一個schedule方法可以在后臺自動完成一定的功能,而且調(diào)用起來相當(dāng)簡單,于是就用了Frame類中的schedule方法來實現(xiàn)文件自動保存及備份功能。由于Java的特性,可能用任何一個編輯器來編輯,于是就將Windows中的記事本作為模仿對象,根據(jù)實現(xiàn)情況刪減了其中的一些功能,如自動換行,設(shè)置字體,打印等功能。 在設(shè)計類的時候,考慮到簡單明了,就用了兩個類,一個主類和一個默認(rèn)屬性類作為程序的整體框架,所有的對象和方法都是在默認(rèn)屬性類中創(chuàng)建和實現(xiàn)的,以及為各組件注冊事件監(jiān)聽程序也是在默認(rèn)屬性類中實現(xiàn)的。主類完成對象的實例化及顯示。這們設(shè)計的優(yōu)點是:條理清晰,容易理解,容易修改。2.2概要設(shè)計* 類名: BorderLayoutTest * 作用: 自定義的異常類,用來處理將輸入的字符串進(jìn)行反轉(zhuǎn)* 繼承的父類: Frame類 * 實現(xiàn)的接口: 沒有 *2.2.1自定義類說明類名:EditInstantiation作用:實例化對象繼承的父類:WindowAdapter主要成員變量:Frame myFrm / 定義主窗體TextArea myText / 定義文本編輯區(qū)Dialog myDlgFind,myDlgFindont /查找及設(shè)置字體對話框TextField TFfind, TFreplace, TffontSize/查找對話框和字體窗體中的文本行Button BfontOK, Bfind, Breplace, Bnext, Bcancel /定義和創(chuàng)建各按鈕Label Lf, Lr, Ls /定義和創(chuàng)建各標(biāo)簽 MenuBar Mbbar /定義和創(chuàng)建主菜單 Menu Mfile,Medit,Mformation,Mhelp /定義和創(chuàng)建主菜單中的選項 Toolkit toolKit Clipboard myCB /剪切板對象 FileDialog myFDlg /定義文件對話框 Choice ChfontName /定義和創(chuàng)建字體選擇框 private int VIindex = 1; /構(gòu)成文件名后綴變量 private String VSsubFixStr=.java; /構(gòu)成文件名擴展名變量 private String VSmyFileName = Document1,VSmyBFileName; /文件名及備份文件名變量 private File VFmyFile=new File(VSmyFileName+VIindex+.java); /文件名變量 private int VIsearchPosition=0; /查找位置指針 private Timer VTtime; /實例化一個Time類 private int VImin=1; / schedule方法中的一個時間參數(shù) private int VItype=JOptionPane.INFORMATION_MESSAGE; /提示對話框類型 private String VStitle; /提示對話框標(biāo)題 private String VSmessage; /提示對話框信息 private boolean VBchanged = true; /改變字體的一個標(biāo)識 private int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2; /設(shè)置字體大小及步長 define sources 定義各部件 Frame myFrm=new Frame(我的編輯器); /定義窗體 TextArea myText=new TextArea(); /定義窗體 Dialog myDlgFind=new Dialog(myFrm,查找,true); /定義查找對話框 Dialog myDlgFindont=new Dialog(myFrm,字體,true); /定義字體對話框 TextField TFfind=new TextField(30);/定義查找對話中的查找輸入框 TextField TFreplace=new TextField(30); /定義查找對話中的替換輸入框 TextField TFfontSize,TFfontDemo;/定義字體大小文本框和示例框 Choice CHfontName;/定義字體大小選擇框 List LTfontSize; /定義字體大小標(biāo)簽 Button BfontOK,BfontCancel; /定義字體大小對話中的確定及取消按鈕 Button Bfind=new Button(查找);/定義查找對話中的查找按鈕 Button Breplace=new Button(替換);/定義查找對話中的替換及取消按鈕 Button Bnext=new Button(下一個);/定義查找對話中的下一個及取消按鈕 Button Bcancel=new Button(取消);/定義查找對話中的確定及取消按鈕 Label Lf=new Label(查找內(nèi)容:); Label Lr=new Label(替換為: ); Label Ls=new Label(字體大?。?; FileDialog myFDlg; Clipboard myCB=Toolkit.getDefaultToolkit().getSystemClipboard(); /剪切板對象主要成員方法:public void init() /初始化各部件菜單的定義和事件的監(jiān)聽public void displayEdit ()/顯示窗體及調(diào)用Time中的schedule方法public void windowClosing () /關(guān)閉窗體public void save /保存文件方法a.內(nèi)部類類名:KeyEvents作用:實現(xiàn)菜單的事件的響應(yīng)功能繼承的父類:KeyAdapter主要成員變量:無成員方法:actionPerformed()、keyPressed() b.內(nèi)部類類名:FindKeyEvent作用:實現(xiàn)查找中各部件事件的響應(yīng)功能繼承的父類:無主要成員變量:無成員方法:actionPerformed ()c.內(nèi)部類類名:fontEvent2.3 數(shù)據(jù)庫設(shè)計反轉(zhuǎn)字符串的查詢方式有很多,在這里介紹一種最常規(guī)的方法。如果大家有更多更好的方法,歡迎提出來一起討論。反轉(zhuǎn)字符串可用于查詢和轉(zhuǎn)換字符串和字符串集合。它對文本文件中的半結(jié)構(gòu)化數(shù)據(jù)尤其有用。查詢可與傳統(tǒng)的字符串函數(shù)和正則表達(dá)式結(jié)合使用。例如,可以使用 Split 或 Split 方法來創(chuàng)建字符串?dāng)?shù)組,然后可以使用Frame 來查詢或修改此數(shù)組。可以在 TFfind查詢的子句中使用IsMatch 方法。可以使用TFfind 來查詢或修改由正則表達(dá)式返回的MatchCollection 結(jié)果。2.4詳細(xì)設(shè)計/BorderLayoutTest.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.event.*;public class test1 public static void main(String args) cloneFrame frame = new cloneFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show();class cloneFrame extends JFramepublic cloneFrame() setTitle(機試程序); setSize(600, 400); /define sources 定義各部件 Frame myFrm=new Frame(我的編輯器); /定義窗體 TextArea myText=new TextArea(); /定義窗體 Dialog myDlgFind=new Dialog(myFrm,查找,true); /定義查找對話框 Dialog myDlgFindont=new Dialog(myFrm,字體,true); /定義字體對話框 TextField TFfind=new TextField(30);/定義查找對話中的查找輸入框 TextField TFreplace=new TextField(30); /定義查找對話中的替換輸入框 TextField TFfontSize,TFfontDemo;/定義字體大小文本框和示例框 Choice CHfontName;/定義字體大小選擇框 List LTfontSize; /定義字體大小標(biāo)簽 Button BfontOK,BfontCancel; /定義字體大小對話中的確定及取消按鈕 Button Bfind=new Button(查找);/定義查找對話中的查找按鈕 Button Breplace=new Button(替換);/定義查找對話中的替換及取消按鈕 Button Bnext=new Button(下一個);/定義查找對話中的下一個及取消按鈕 Button Bcancel=new Button(取消);/定義查找對話中的確定及取消按鈕 Label Lf=new Label(查找內(nèi)容:); Label Lr=new Label(替換為: ); Label Ls=new Label(字體大小:); FileDialog myFDlg; Clipboard myCB=Toolkit.getDefaultToolkit().getSystemClipboard(); /剪切板對象 Menu Mfile,Medit,Mformation,Mhelp; MenuBar /define varities /定義各變量 private int VIindex = 1; private String VSsubFixStr=.java; private String VSmyFileName = Document1,VSmyBFileName; private File VFmyFile=new File(VSmyFileName+VIindex+.java); private int VIsearchPosition=0; private Timer VTtime; private int VImin=1; / parameter in time schedul private int VItype=JOptionPane.INFORMATION_MESSAGE; private String VStitle; private String VSmessage; / flag of the changeing private boolean VBchanged = true; / the scope of the font private int VIfontSizeMin = 8, VIfontSizeMax = 40, VIfontSizeChangedStep = 2; /* /founction name:init() /parameter :none /attribute :public /founction :initia all compont /* public void init() /初始化各部件 /- set menu - MBbar=new MenuBar(); myFrm.setMenuBar(MBbar); Mfile=new Menu(文件); Medit=new Menu(編輯); Mformation=new Menu(格式); Mhelp=new Menu(幫助);public String id1;public String name1;public String age1;FileOutputStream fos=null;DataOutputStream dout=null;public proposer(String id,String name,String age)this.id1=id;1=name;this.age1=age;voidsave() tryFile proFile=new File(proposer.txt);fos=new FileOutputStream(proFile);dout=new DataOutputStream(fos);dout.writeUTF(id1);dout.writeUTF(name1);dout.writeUTF(age1);dout.close(); catch(Exception err) private JLabel label_2; private int number; private int sum; final JLabel label = new JLabel(); final JLabel label_1 = new JLabel(); public static void main(String args) new game (); public game () super; getContentPane().setLayout(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JButton button = new JButton(); button.addActionListener(new ActionListener() public void actionPerformed(final ActionEvent arg0) onClick(); ); button.setText); button.setBounds(170, 350, 106, 28); getContentPane().add(button); label.setBorder(new LineBorder(Color.black, 1, false); label.setHorizontalAlignment(SwingConstants.CENTER); label.setFont(new Font(, Font.BOLD, 26); label.setText(背面); label.setBounds(158, 81, 137, 153); getContentPane().add(label); label_1.setText(你已經(jīng)擁有的牌:); label_1.setBounds(109, 22, 270, 45); getContentPane().add(label_1); this.setBounds(200, 300, 501, 528); this.setVisible(true); getContentPane().add(getLabel_2(); public int randNumber() try Thread.sleep(10); catch (InterruptedException e) e.printStackTrace(); return (int) (Math.random() * 10 + 1); public void onClick() number = this.randNumber(); this.sum += number; label.setText( + number); String strTemp = this.label_1.getText(); strTemp += + number + ; label_1.setText(strTemp); String temp = 合計: + sum; label_2.setText(temp); isWin(); public void isWin() if (sum 21) JOptionPane.showMessageDialog(this, 你輸了); clear(); return; else if (sum = 21) JOptionPane.showMessageDialog(this, 你贏了); clear(); return; else int i = JOptionPane.showOptionDialog(this, 是否繼續(xù)?, 提示, JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, null); if (i = JOptionPane.OK_OPTION) onClick(); else return; private void clear() label_2.setText(合計:); sum = 0; number = 0; JPanel buttonPanel = new JPanel(); buttonPanel.setBackground(new Color(56,43,85); Button1 = new JButton(點擊復(fù)制反轉(zhuǎn)字符串); Button1.addActionListener(new turnListener(); buttonPanel.add(Button1); JPanel textPanel = new JPanel(); textPanel.setBackground(new Color(100,100,100) field1 = new JTextField(姓名:老李;學(xué)號:2004132028, 20); field2 = new JTextField(反轉(zhuǎn), 20); field2.setEditable(false); textPanel.add(field1); textPanel.add(field2); private int VIindex = 1; private String VSsubFixStr=.java; private String VSmyFileName = Document1,VSmyBFileName; private File VFmyFile=new File(VSmyFileName+VIindex+.java); private int VIsearchPosition=0; private Timer VTtime; private int VImin=1; / parameter in time schedul private int VItype=JOptionPane.INFORMATION_MESSAGE; private String VStitle; private String VSmessage; / flag of the changeing private boolean VBchanged = true; / the scope of the font JPanel tuPanel = new JPanel(); JLabel label = new JLabel(new ImageIcon(006.gif); tuPanel.add(label); tuPanel.setBackground(new Color(100,100,100); private int VIindex = 1; private String VSsubFixStr=.java; private String VSmyFileName = Document1,VSmyBFileName; private File VFmyFile=new File(VSmyFileName+VIindex+.java); private int VIsearchPosition=0; private Timer VTtime; private int VImin=1; / parameter in time schedul private int VItype=JOptionPane.INFORMATION_MESSAGE; private String VStitle; private String VSmessage; / flag of the changeing private boolean VBchanged = true; / the scope of the font Container contentPane = getContentPane(); contentPane.add(buttonPanel, BorderLayout.SOUTH); contentPane.add(textPanel, BorderLayout.NORTH); contentPane.add(tuPanel, BorderLayout.CENTER); contentPane.setBackground(new Color(100,100,100);myDlgFind.add(Lf); myDlgFind.add(TFfind); myDlgFind.add(Lr); myDlgFind.add(TFreplace); myDlgFind.add(Bfind); myDlgFind.add(Breplace); myDlgFind.add(Bnext); myDlgFind.add(Bcancel);BfontOK = new Button(確定); BfontOK.addActionListener(new fontEvent(); BfontCancel = new Button(取消); BfontCancel.addActionListener(new fontEvent(); /a TextField for demo the font TFfontDemo = new TextField(Java awt,37); TFfontDemo.setEditable(false);private class turnListener implements ActionListener public void actionPerformed(ActionEvent event) String gets = field1.getText(); int i = gets.length(); StringBuffer buffer = new StringBuffer(i); for(int j=i-1;j=0;j-) buffer.append(gets.charAt(j); String gets2 = buffer.toString(); field2.setText(gets2); private JButton Button1;private JTextField field1;private JTextField field2;2.5測試分析2.5.1程序運行情況當(dāng)程序正常運行的時候,它能清晰的顯示出運行結(jié)果。但也有例外,如輸入的字節(jié)太長,此時便不能正常運行,所以我得想辦法先把它解決了,如果不解決的話,此程序等于沒有或是不底不做。因為它直接影響著此程序能否成功的關(guān)鍵,是此程序的命脈所在,所以必須重視。又因為如果是簡單的處理可能還會出現(xiàn)其他情況,所以得條理清晰。解決它很好辦,在程序有關(guān)字節(jié)長短加句else if此時,如果出現(xiàn)太長的字符,就會出現(xiàn)BorderLayoutTest類型的類,然后捕捉結(jié)果,進(jìn)行歸零。2.5.2程序異常處理(1)打開文件時的異常處理需要處理的異常:IOException處理方法:捕獲異常后,顯示捕獲的異常(2)保存文件時的異常處理需要處理的異常:IOException處理方法:捕獲異常后,顯示捕獲的異常第3章 課程設(shè)計總結(jié)隨著本學(xué)期Java課程的結(jié)束,Java基礎(chǔ)課程的學(xué)習(xí)也正式落下了帷幕。這部分知識主要是介紹Java程序設(shè)計的基礎(chǔ)語法,學(xué)習(xí)起來不是很困難。要說難
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 意外傷害賠償協(xié)議書
- 砂合同協(xié)議書
- 拆除危房合同協(xié)議書
- 紡織技術(shù)新發(fā)展及其意義試題及答案
- 工人合同協(xié)議書
- 薪資合同協(xié)議書
- 復(fù)耕協(xié)議書合同
- 解除協(xié)議書和合同
- 電鍍合同協(xié)議書
- 檢測合同協(xié)議書
- 管理學(xué)-第十一章-溝通
- 臨時用電安全專項檢查表、臨電安全檢查表
- 學(xué)業(yè)水平考試復(fù)習(xí)高中語文文言文課本翻譯
- 常用原料凈料率參照表
- 高低溫試驗報告
- 第一章 混凝土拌合站組織機構(gòu)框圖及崗位職責(zé)
- 工作界面劃分表
- 依愛EIN70型氣體滅火控制系統(tǒng)安裝使用說明書V141
- 指南預(yù)應(yīng)力簡支t形梁橋
- 我的自編科學(xué)書
- 湘教版八年級數(shù)學(xué)下冊第3章《圖形與坐標(biāo)》復(fù)習(xí)
評論
0/150
提交評論