版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
字符串是字符的序列,它是許多程序設(shè)計(jì)語言的基本數(shù)據(jù)結(jié)構(gòu)。CJava語言是通過字符串類實(shí)現(xiàn)的。Java語言提供了三個(gè)字符串類:String類、StringBuilder類和StringBuffer類。String類是不變字符串,StringBuilderStringBuffer是可變字符串,這種字符串都是16位的Unicode字符序列,并且這個(gè)類都被聲明為final,因此不能被繼承。計(jì)算機(jī)科學(xué)技術(shù)發(fā)展異常徐速,內(nèi)容更新很快。Java語言作為面向?qū)ο蟮?、跨平臺的編程語言,迅速成為IT領(lǐng)域里的主流編程語言。Java中強(qiáng)大的處理能String類的方法的調(diào)用、實(shí)現(xiàn)以及對String類的Java語言的語法規(guī)則、編程基本方法和技巧、各種算法編程實(shí)實(shí)在在的知識。在此之前,熟悉各種Java的基本語言特性、語法規(guī)則,尤其是String類的掌握與應(yīng)用就顯得十分必要。本次筆者利用Java語言提供的各種類包、方法以及各種接口,做了一個(gè)小型的可視化的String強(qiáng)化自己的編程能力,另一方面,利用自己做的這個(gè)工具,可以很好的解決一些關(guān)于String類的小問題,解決一些實(shí)際方面的現(xiàn)實(shí)問題,從而將自己所學(xué)的知識運(yùn)用的實(shí)際生活當(dāng)中。整個(gè)程序可以完成String字符串的一些常用處理,String類的基本功能都能完成,還做了可視化界面,方便用戶的操作,使用起來更是簡單易懂。通過這個(gè)小程序,實(shí)為鍛煉自己的所學(xué)。由于制作時(shí)間有限,加之編者水平有限,不當(dāng)之處在所難免,希望廣大朋友批評指正。I本該設(shè)計(jì)要求實(shí)現(xiàn)jdk基礎(chǔ)類庫中String類的主要方法。通過該題目的設(shè)計(jì),培養(yǎng)學(xué)生面向?qū)ο蟪绦蛟O(shè)計(jì)的思想,要求學(xué)生達(dá)到熟練掌握J(rèn)ava際問題的能力。要求利用面向?qū)ο蟮姆椒ㄒ约癑ava的編程思想來完成系統(tǒng)的設(shè)計(jì)。要求在設(shè)計(jì)的過程中,建立清晰的類層。在系統(tǒng)設(shè)計(jì)中要分析和定義各個(gè)類,每個(gè)類中要有各自的屬性和方法。在系統(tǒng)的設(shè)計(jì)中,要求運(yùn)用面向?qū)ο蟮臋C(jī)制(繼承、派生及多態(tài)性)來實(shí)現(xiàn)系統(tǒng)功能。關(guān)鍵詞String類;對象;Java;程序設(shè)計(jì):II目錄序言................................................................................................................................I摘要...............................................................................................................................II一、系統(tǒng)分析與設(shè)計(jì)..................................................................................................11.1功能分析.........................................................................................................................11.2總體設(shè)計(jì).........................................................................................................................11.3系統(tǒng)類層次關(guān)系圖.........................................................................................................2二、詳細(xì)設(shè)計(jì)..............................................................................................................32.1MainHS類的設(shè)計(jì)............................................................................................................32.2Stringcp類的設(shè)計(jì)......................................................................................................42.3其它界面子類的設(shè)計(jì)...................................................................................................5三、系統(tǒng)測試..............................................................................................................63.1常用的測試方法...........................................................................................................63.2測試方案.......................................................................................................................63.3測試過程.......................................................................................................................73.4測試結(jié)果.....................................................................................................................11四、軟件說明書........................................................................................................12五、設(shè)計(jì)總結(jié)..............................................................................................................16六、參考文獻(xiàn)..............................................................................................................17附錄:源代碼(部分程序)......................................................................................18III1.1功能分析進(jìn)過對題目要求的仔細(xì)分析,要完成String類的基本功能,該系統(tǒng)的要求實(shí)現(xiàn)以下功能:實(shí)現(xiàn)字符串的連接;求字符串的長度;求字符串中某個(gè)字符的位置;實(shí)現(xiàn)字符串的比較;實(shí)現(xiàn)字符串中提取某個(gè)子串;字符串中字符大小寫的轉(zhuǎn)換;字符串中指定字符的替換。1.2總體設(shè)計(jì)Java程序編輯器是:圖形界面、流與文件等技術(shù)的綜合應(yīng)用。圖形界面的實(shí)現(xiàn):考慮到簡單、實(shí)用、高效等特點(diǎn),就選擇了Swing來JFrameJbutton等作為主要的部件。Java語言完成各個(gè)功能的實(shí)現(xiàn),我借助了jdk1.7.25eclipse來完成,用到了Swing插件以及Swing提供的各種類包,來完成軟件??紤]到String類主要的功能實(shí)現(xiàn),用到圖形界面,我總共設(shè)計(jì)了10個(gè)大類來完成這個(gè)系統(tǒng)。大致分為一個(gè)主界面類,一個(gè)實(shí)現(xiàn)方法的類,八個(gè)功能界面的類。具體如下:ClassMainHS//主界面類ClassStringcp//所有方法實(shí)現(xiàn)的方法類1ClasssubClasssub2Classsub3Classsub4Classsub5Classsub6Classsub7Classsub8//字符串連接功能界面//字符串長度求取功能界面//字符串中某字符位置求取功能界面//兩個(gè)字符串比較功能界面//提取字串功能界面//字符串大寫字母—〉小寫字母功能界面//字符串小寫字母—〉大寫字母功能界面//字符串中某字符替換的功能界面1.3系統(tǒng)類層次關(guān)系圖圖1.3.1為界面調(diào)用類的關(guān)系圖,每個(gè)子塊的功能實(shí)現(xiàn)君調(diào)用Stringcp類中的功能函數(shù)來實(shí)現(xiàn)。提取子串字符替換大寫->小寫小寫->大寫連接求長度求位置圖22.1MainHS類的設(shè)計(jì)MainHS口介入功能。主要實(shí)現(xiàn)代碼如下: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);其中每個(gè)按鈕有一個(gè)事件監(jiān)聽,就給出一個(gè)例子,代碼如下:btnNewButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){sub2a=newsub2();a.main(null);}32.2Stringcp類的設(shè)計(jì)Stringcp類作為整個(gè)系統(tǒng)的核心運(yùn)算部分,主要完成各個(gè)功能的從而實(shí)現(xiàn)各個(gè)功能的實(shí)現(xiàn)。其中主要包含的函數(shù)有:(1)publicStringlink(Stringst1,Stringst2)功能實(shí)現(xiàn):實(shí)現(xiàn)字符串的連接實(shí)現(xiàn)方法:通過字符串連接符“+”完成(2)publicintLeng(Stringst)功能實(shí)現(xiàn):求字符串的長度實(shí)現(xiàn)方法:通過length函數(shù)來完成(3)publicstaticStringPl(Stringst,charx)功能實(shí)現(xiàn):求字符串中某個(gè)字符的位置參數(shù)說明:x為st字符串中所要查找的字符實(shí)現(xiàn)方法:通過循環(huán)搜索來完成(3)publicStringSstring(Stringst,inta,int)功能實(shí)現(xiàn):實(shí)現(xiàn)字符串中提取某個(gè)子串參數(shù)說明:從a開始,從b結(jié)束實(shí)現(xiàn)方法:用函數(shù)substring()來實(shí)現(xiàn)(4)publicStringSwitch(Stringst)功能實(shí)現(xiàn):字符串中字符小寫->大寫的轉(zhuǎn)換實(shí)現(xiàn)方法:用函數(shù)toLowerCase()來實(shí)現(xiàn)(5)publicStringSwitch2(Stringst)功能實(shí)現(xiàn):字符串中字符大寫->小寫的轉(zhuǎn)換實(shí)現(xiàn)方法:用函數(shù)toUpperCse()來實(shí)現(xiàn)(5)publicstaticStringZhchar(Stringst,intb,charx)功能實(shí)現(xiàn):字符串中指定字符的替換參數(shù)說明:b表示要替換的位置,x表示替換的元素(6)publicbooleanCp(Stringst1,Stringst2)功能實(shí)現(xiàn):兩個(gè)字符串比較,相等取true,不等取false實(shí)現(xiàn)方法:用equals()函數(shù)來實(shí)現(xiàn)java類庫提供的charAt(intindex)(返回字符串index位置處的字符、String.valueOf(inti)(將inti轉(zhuǎn)換成String類型)、String.vlaueOf(char[]index)(將index字符數(shù)組轉(zhuǎn)換成String類型)等等的函數(shù)。42.3其它界面子類的設(shè)計(jì)其它功能子類的設(shè)計(jì)大多相似,主要用了各種的文本窗口(JTextField)和各種的按鈕(JButton)以及各種事件監(jiān)聽(addActionListener)來實(shí)現(xiàn)功能。其主要用到的成員定義如下:privateJFrameframe;privateJTextFieldtextField;//文本輸入框的定義privateJTextFieldtextField_1;privateJTextFieldtextField_2;JButtonbutton=newJButton();//按鈕的定義子類主要是通過文本框和按鈕來實(shí)現(xiàn),在文本框中輸入相應(yīng)的內(nèi)String類處理的功能。)方法來實(shí)現(xiàn),通過調(diào)用Stringcp類中的方法,來實(shí)現(xiàn)相應(yīng)的功能,下方為一個(gè)具體的例子: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測試,用戶驗(yàn)收測試(UAT2)α測試,英文是Alphatesting。又稱Alpha測試。3Portabilitytesting4)用戶界面測試,英文是Userinterfacetesting。又稱UI測試。5)冒煙測試,英文是Smoketesting。6)隨機(jī)測試,英文是Adhoctesting。7)白盒測試。8)黑盒測試。9)自動化測試。10)回歸測試。11)驗(yàn)收測試。12)動態(tài)測試等等。3.2測試方案本系統(tǒng)采用的是黑盒測試,采用各個(gè)字符串進(jìn)行測試。63.3測試過程1.主界面測試:測試結(jié)果如下:2.字符串連接測試:測試用例:字符串1輸入:asdfiop字符串2輸入:dsopirps測試結(jié)果如下:73.字符串長度測試:測試用例:輸入字符串:sioealkjsdfao測試結(jié)果如下:4.字符串位置測試:測試用例:輸入字符串:asdfiiasdfaerda要查找字符:a測試結(jié)果如下:85.字符串比較測試:測試用例(2(1)字符串1輸入:asdfpoi字符串2輸入:asdfpol測試結(jié)果如下:(2)字符串1輸入:abcdejkl字符串2輸入:abcdejkl測試結(jié)果如下:96.提取子串測試:測試用例:輸入字符串:Helloworld!起始位置:3結(jié)束位置:10測試結(jié)果如下:7.大寫字母->小寫字母測試:測試用例:輸入字符串:whosYOURdaddy測試結(jié)果如下:108.小寫字母->大寫字母測試:測試用例:輸入字符串:whosYOURdaddy測試結(jié)果如下:9.字符替換測試:測試用例:輸入字符串:Showmethemoney輸入要改變第幾個(gè)字符:5輸入要改成的目標(biāo)字符:9測試結(jié)果如下:3.4測試結(jié)果經(jīng)過測試,所得結(jié)果與預(yù)期完全一致。11運(yùn)行功能及其所用附件功能在可視化窗口已經(jīng)詳細(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024物業(yè)資產(chǎn)讓與擔(dān)保合同 資產(chǎn)方與受讓方協(xié)議
- 二零二四年免租金科研機(jī)構(gòu)租賃合同規(guī)范文本3篇
- 2025年管道檢測與修復(fù)水管安裝合同樣本3篇
- 2025年酒店布草租賃與智能化管理服務(wù)合同2篇
- 二零二五年度草料種植基地土壤治理合同3篇
- 二零二五年度租賃房屋租賃保證金監(jiān)管服務(wù)合同范本3篇
- 2025年校園體育設(shè)施平整施工合同6篇
- 二零二五年度數(shù)據(jù)中心場地租賃合同及數(shù)據(jù)安全保障與服務(wù)標(biāo)準(zhǔn)3篇
- 二零二五惠州法務(wù)專員招聘與法律知識普及培訓(xùn)合同3篇
- 2024金融機(jī)構(gòu)貸款擔(dān)保合同
- 學(xué)霸高中數(shù)學(xué)高中數(shù)學(xué)筆記全冊(最終)
- 熱棒的要點(diǎn)及要求
- 有史以來最完整的App運(yùn)營推廣計(jì)劃方案分享
- 《土地寶懺》2019版定稿
- D3_電生理導(dǎo)管
- 談?wù)?免疫及兒童原發(fā)性免疫缺陷病
- 建設(shè)領(lǐng)域禁止、限制使用落后技術(shù)通告版
- Harris-髖關(guān)節(jié)功能評分標(biāo)準(zhǔn)(共1頁)
- 成都市優(yōu)質(zhì)結(jié)構(gòu)工程申報(bào)指南
- 小學(xué)四年級上冊-數(shù)學(xué)口算題精選(分頁打印)
- 【納棺夫日記】
評論
0/150
提交評論