String類的實現說明書_第1頁
String類的實現說明書_第2頁
String類的實現說明書_第3頁
String類的實現說明書_第4頁
String類的實現說明書_第5頁
已閱讀5頁,還剩17頁未讀, 繼續免費閱讀

VIP免費下載

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

字符串是字符的序列,它是許多程序設計語言的基本數據結構。CJava語言是通過字符串類實現的。Java語言提供了三個字符串類:String類、StringBuilder類和StringBuffer類。String類是不變字符串,StringBuilderStringBuffer是可變字符串,這種字符串都是16位的Unicode字符序列,并且這個類都被聲明為final,因此不能被繼承。計算機科學技術發展異常徐速,內容更新很快。Java語言作為面向對象的、跨平臺的編程語言,迅速成為IT領域里的主流編程語言。Java中強大的處理能String類的方法的調用、實現以及對String類的Java語言的語法規則、編程基本方法和技巧、各種算法編程實實在在的知識。在此之前,熟悉各種Java的基本語言特性、語法規則,尤其是String類的掌握與應用就顯得十分必要。本次筆者利用Java語言提供的各種類包、方法以及各種接口,做了一個小型的可視化的String強化自己的編程能力,另一方面,利用自己做的這個工具,可以很好的解決一些關于String類的小問題,解決一些實際方面的現實問題,從而將自己所學的知識運用的實際生活當中。整個程序可以完成String字符串的一些常用處理,String類的基本功能都能完成,還做了可視化界面,方便用戶的操作,使用起來更是簡單易懂。通過這個小程序,實為鍛煉自己的所學。由于制作時間有限,加之編者水平有限,不當之處在所難免,希望廣大朋友批評指正。I本該設計要求實現jdk基礎類庫中String類的主要方法。通過該題目的設計,培養學生面向對象程序設計的思想,要求學生達到熟練掌握Java際問題的能力。要求利用面向對象的方法以及Java的編程思想來完成系統的設計。要求在設計的過程中,建立清晰的類層。在系統設計中要分析和定義各個類,每個類中要有各自的屬性和方法。在系統的設計中,要求運用面向對象的機制(繼承、派生及多態性)來實現系統功能。關鍵詞String類;對象;Java;程序設計:II目錄序言................................................................................................................................I摘要...............................................................................................................................II一、系統分析與設計..................................................................................................11.1功能分析.........................................................................................................................11.2總體設計.........................................................................................................................11.3系統類層次關系圖.........................................................................................................2二、詳細設計..............................................................................................................32.1MainHS類的設計............................................................................................................32.2Stringcp類的設計......................................................................................................42.3其它界面子類的設計...................................................................................................5三、系統測試..............................................................................................................63.1常用的測試方法...........................................................................................................63.2測試方案.......................................................................................................................63.3測試過程.......................................................................................................................73.4測試結果.....................................................................................................................11四、軟件說明書........................................................................................................12五、設計總結..............................................................................................................16六、參考文獻..............................................................................................................17附錄:源代碼(部分程序)......................................................................................18III1.1功能分析進過對題目要求的仔細分析,要完成String類的基本功能,該系統的要求實現以下功能:實現字符串的連接;求字符串的長度;求字符串中某個字符的位置;實現字符串的比較;實現字符串中提取某個子串;字符串中字符大小寫的轉換;字符串中指定字符的替換。1.2總體設計Java程序編輯器是:圖形界面、流與文件等技術的綜合應用。圖形界面的實現:考慮到簡單、實用、高效等特點,就選擇了Swing來JFrameJbutton等作為主要的部件。Java語言完成各個功能的實現,我借助了jdk1.7.25eclipse來完成,用到了Swing插件以及Swing提供的各種類包,來完成軟件??紤]到String類主要的功能實現,用到圖形界面,我總共設計了10個大類來完成這個系統。大致分為一個主界面類,一個實現方法的類,八個功能界面的類。具體如下:ClassMainHS//主界面類ClassStringcp//所有方法實現的方法類1ClasssubClasssub2Classsub3Classsub4Classsub5Classsub6Classsub7Classsub8//字符串連接功能界面//字符串長度求取功能界面//字符串中某字符位置求取功能界面//兩個字符串比較功能界面//提取字串功能界面//字符串大寫字母—〉小寫字母功能界面//字符串小寫字母—〉大寫字母功能界面//字符串中某字符替換的功能界面1.3系統類層次關系圖圖1.3.1為界面調用類的關系圖,每個子塊的功能實現君調用Stringcp類中的功能函數來實現。提取子串字符替換大寫->小寫小寫->大寫連接求長度求位置圖22.1MainHS類的設計MainHS口介入功能。主要實現代碼如下:frmString=newJFrame();frmString.getContentPane().setEnabled(false);frmString.setAlwaysOnTop(true);frmString.setTitle("String\u7C7B\u5904\u7406");frmString.setBounds(100,100,287,379);frmString.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frmString.getContentPane().setLayout(null)JButtonbutton=newJButton("\u8FDE\u63A5");button.setBackground(UIManager.getColor("Button.shadow"))button.setBounds(0,0,276,45);frmString.getContentPane().add(button);其中每個按鈕有一個事件監聽,就給出一個例子,代碼如下:btnNewButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){sub2a=newsub2();a.main(null);}32.2Stringcp類的設計Stringcp類作為整個系統的核心運算部分,主要完成各個功能的從而實現各個功能的實現。其中主要包含的函數有:(1)publicStringlink(Stringst1,Stringst2)功能實現:實現字符串的連接實現方法:通過字符串連接符“+”完成(2)publicintLeng(Stringst)功能實現:求字符串的長度實現方法:通過length函數來完成(3)publicstaticStringPl(Stringst,charx)功能實現:求字符串中某個字符的位置參數說明:x為st字符串中所要查找的字符實現方法:通過循環搜索來完成(3)publicStringSstring(Stringst,inta,int)功能實現:實現字符串中提取某個子串參數說明:從a開始,從b結束實現方法:用函數substring()來實現(4)publicStringSwitch(Stringst)功能實現:字符串中字符小寫->大寫的轉換實現方法:用函數toLowerCase()來實現(5)publicStringSwitch2(Stringst)功能實現:字符串中字符大寫->小寫的轉換實現方法:用函數toUpperCse()來實現(5)publicstaticStringZhchar(Stringst,intb,charx)功能實現:字符串中指定字符的替換參數說明:b表示要替換的位置,x表示替換的元素(6)publicbooleanCp(Stringst1,Stringst2)功能實現:兩個字符串比較,相等取true,不等取false實現方法:用equals()函數來實現java類庫提供的charAt(intindex)(返回字符串index位置處的字符、String.valueOf(inti)(將inti轉換成String類型)、String.vlaueOf(char[]index)(將index字符數組轉換成String類型)等等的函數。42.3其它界面子類的設計其它功能子類的設計大多相似,主要用了各種的文本窗口(JTextField)和各種的按鈕(JButton)以及各種事件監聽(addActionListener)來實現功能。其主要用到的成員定義如下:privateJFrameframe;privateJTextFieldtextField;//文本輸入框的定義privateJTextFieldtextField_1;privateJTextFieldtextField_2;JButtonbutton=newJButton();//按鈕的定義子類主要是通過文本框和按鈕來實現,在文本框中輸入相應的內String類處理的功能。)方法來實現,通過調用Stringcp類中的方法,來實現相應的功能,下方為一個具體的例子:publicvoidactionPerformed(ActionEvente){Stringp=newString(textField.getText());Stringp2=newString(textField_1.getText());Stringcpa=newStringcp();Stringp3=a.link(p,p2);textField_2.setText(p3);}53.1常用的測試方法軟件測試非方法有很多,比如1β測試,英文是Betatesting。又稱Beta測試,用戶驗收測試(UAT2)α測試,英文是Alphatesting。又稱Alpha測試。3Portabilitytesting4)用戶界面測試,英文是Userinterfacetesting。又稱UI測試。5)冒煙測試,英文是Smoketesting。6)隨機測試,英文是Adhoctesting。7)白盒測試。8)黑盒測試。9)自動化測試。10)回歸測試。11)驗收測試。12)動態測試等等。3.2測試方案本系統采用的是黑盒測試,采用各個字符串進行測試。63.3測試過程1.主界面測試:測試結果如下:2.字符串連接測試:測試用例:字符串1輸入:asdfiop字符串2輸入:dsopirps測試結果如下:73.字符串長度測試:測試用例:輸入字符串:sioealkjsdfao測試結果如下:4.字符串位置測試:測試用例:輸入字符串:asdfiiasdfaerda要查找字符:a測試結果如下:85.字符串比較測試:測試用例(2(1)字符串1輸入:asdfpoi字符串2輸入:asdfpol測試結果如下:(2)字符串1輸入:abcdejkl字符串2輸入:abcdejkl測試結果如下:96.提取子串測試:測試用例:輸入字符串:Helloworld!起始位置:3結束位置:10測試結果如下:7.大寫字母->小寫字母測試:測試用例:輸入字符串:whosYOURdaddy測試結果如下:108.小寫字母->大寫字母測試:測試用例:輸入字符串:whosYOURdaddy測試結果如下:9.字符替換測試:測試用例:輸入字符串:Showmethemoney輸入要改變第幾個字符:5輸入要改成的目標字符:9測試結果如下:3.4測試結果經過測試,所得結果與預期完全一致。11運行功能及其所用附件功能在可視化窗口已經詳細列出,按照界面窗口的提示,按步驟輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論