




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)報(bào)告四 串操作一、 實(shí)驗(yàn)?zāi)康模海?) 掌握串的定義、術(shù)語(yǔ)。(2) 掌握串的基本操作算法。(3) 掌握串的匹配算法。二、 實(shí)驗(yàn)內(nèi)容: 1. 在常量串MyString類中,增加以下方法,并求各算法的時(shí)間復(fù)雜度。public MyString trim()/刪除串中所有空格public char toCharArray()/返回字符數(shù)組public MyString toLowerCase()/返回將大寫字母轉(zhuǎn)換成小寫字母的字符串public MyString toUpperCase()/返回將小寫字母轉(zhuǎn)換成大寫字母的字符串public MyString replace(char old, ch
2、ar newc)/用字符newc替換串中的字符oldpublic Boolean equals(Object obj)/判斷兩個(gè)串是否相等public Boolean equalsIgnoreCase(String1 str) /判斷兩個(gè)串是否相等,忽略大小寫public int compareTo(MyString str)/比較兩個(gè)串大小,實(shí)現(xiàn)Comparable接口public int compareToIgnoreCase(MyString str) /比較兩個(gè)串大小,忽略大小寫public Boolean startsWith(MyString prefix)/判斷prefix是否前
3、綴子串public Boolean endsWith(MyString suffix)/判斷suffix是否后綴子串源代碼:package Q1;import java.lang.*;public class MyString public char value;public String str;public MyString trim()/刪除串中所有空格 O(N*N)for(int i=0;i<this.value.length;i+)if(this.valuei=' ')for(int j=i;j<this.value.length;j+)this.valu
4、ej=this.valuej+1;return this;public char toCharArray()/返回字符數(shù)組O(1)return this.value;public MyString toLowerCase()/返回將大寫字母轉(zhuǎn)換成小寫字母的字符串 O(N)for(int i=0;i<this.value.length;i+)if(this.valuei>='A' && this.valuei<='Z')this.valuei=(char)(this.valuei+32);return this;public My
5、String toUpperCase()/返回將小寫字母轉(zhuǎn)換成大寫字母的字符串 O(N)for(int i=0;i<this.value.length;i+)if(this.valuei>='a' && this.valuei<='z')this.valuei=(char)(this.valuei-32);return this;public MyString replace(char old, char newc)/用字符newc替換串中的字符old O(N)for(int i=0;i<this.value.length
6、;i+)if(this.valuei=old)this.valuei=newc;return this;public boolean equals(MyString str)/判斷兩個(gè)串是否相等 O(N)boolean flag=true;if(this.value.length = str.value.length)for(int i=0;i<this.value.length;i+)if(this.valuei!=str.valuei)flag=false;break;else return flag=false;return flag;public boolean equalsIg
7、noreCase(MyString str)/判斷兩個(gè)串是否相等,忽略大小寫 O(N)boolean flag=true;if(this.value.length=str.value.length)for(int i=0;i<this.value.length;i+)if(this.valuei>='a'&&this.valuei<='z' | this.valuei>='A'&&this.valuei<='Z')if(str.valuei>='a'
8、;&&str.valuei<='z' | str.valuei>='A'&&str.valuei<='Z')if(this.valuei!=str.valuei | this.valuei+32!=str.valuei | this.valuei!=str.valuei+32)flag=false;break;else if(this.valuei!=str.valuei)flag=false;break;else if(this.valuei!=str.valuei)flag=false;bre
9、ak;else return flag=false;return flag;public int compareTo(MyString str)/比較兩個(gè)串大小,實(shí)現(xiàn)Comparable接口 O(N)int length=0;int temp = -1;if(this.value.length >= str.value.length)length=this.value.length;else length=str.value.length;for(int i=0;i<length;i+)if(this.valuei!='0' && str.value
10、i!='0')if(this.valuei>str.valuei)temp=0;break; /0=thisif(this.valuei<str.valuei)temp=1;break; /1=strif(this.valuei!='0' && str.valuei='0')temp=0;break;if(this.valuei='0' && str.valuei!='0')temp=1;break;else temp=2; /this=strreturn temp;pu
11、blic int compareToIgnoreCase(MyString str)/比較兩個(gè)串大小,忽略大小寫 O(N)this.value=this.toLowerCase().value;str.value=str.toLowerCase().value;int length=0;int temp = -1;if(this.value.length >= str.value.length)length=this.value.length;else length=str.value.length;for(int i=0;i<length;i+)if(this.valuei!=&
12、#39;0' && str.valuei!='0')if(this.valuei>str.valuei)temp=0;break; /0=thisif(this.valuei<str.valuei)temp=1;break; /1=strif(this.valuei!='0' && str.valuei='0')temp=0;break;if(this.valuei='0' && str.valuei!='0')temp=1;break;else
13、temp=2; /this=strreturn temp;public Boolean startsWith(MyString prefix)/判斷prefix是否前綴子串 O(N)boolean flag=true;if(this.value.length>=prefix.value.length)for(int i=0;i<prefix.value.length;i+)if(this.valuei!=prefix.valuei)flag=false;break;else flag=false;return flag;public Boolean endsWith(MyStrin
14、g suffix)/判斷suffix是否后綴子串 O(N)boolean flag=true;if(this.value.length>=suffix.value.length)for(int i=0,j=this.value.length-suffix.value.length;i<suffix.value.length;i+,j+)if(this.valuej!=suffix.valuei)flag=false;break;else flag=false; return flag;2. 統(tǒng)計(jì)在一個(gè)串中各字符的出現(xiàn)次數(shù)。源代碼:package Q2;public class My
15、String public static int fun(String str)char c;int account= new int128;for(int i=0;i<str.length();i+)c=str.charAt(i);accountc+;return account;public static void disp(int account)char c;for(int i=0;i<account.length ;i+)if(accounti!=0)c=(char) i;System.out.println(c+" "+accounti);Syste
16、m.out.println();public static void main(String args) String str1 = new String("Good morning!");String str2 = new String("Shanghai 2010");disp(fun(str1);disp(fun(str2);測(cè)試實(shí)例: str1=“Good morning!” str2=“Shanghai 2010”粘貼測(cè)試結(jié)果:3. 找出兩個(gè)字符串中所有共同的字符。源代碼:package Q3;public class MyString pub
17、lic static int account(String str)char c;int account= new int128;for(int i=0;i<str.length();i+)c=str.charAt(i);accountc=1;return account;public static int compare(int account,String str)char c;for(int i=0;i<str.length();i+)c=str.charAt(i);if(accountc=1)accountc=2;return account;public static v
18、oid disp(int account)char c;for(int i=0;i<account.length ;i+)if(accounti=2)c=(char) i;System.out.println(c);System.out.println();public static void main(String args) String str1 = new String("aaccb*be!");String str2 = new String("ab!cde*g");int account=account(str1);disp(compa
19、re(account,str2);粘貼測(cè)試結(jié)果:4. 判斷一個(gè)字符串是否為一個(gè)E-mail地址。源代碼:package Q4;public class MyString public static boolean decide(String str)int at_address = 0,at_account=0;int point= new int10;int point_account=0;boolean flag=true;for(int i=0;i<str.length();i+)if(!(str.charAt(0)>='A'&& str.charAt(0)<='Z' | str.charAt(0)>='a'&& str.charAt(0)<='z')return flag=false;elseif(str.charAt(i)='')at_address=i;at_account+;if(str.charAt(i)=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法律文本審查與合規(guī)性研究試題及答案
- 2025屆廣東省汕頭潮南區(qū)四校聯(lián)考八年級(jí)數(shù)學(xué)第二學(xué)期期末達(dá)標(biāo)檢測(cè)模擬試題含解析
- 法律研究中的數(shù)據(jù)分析手段試題及答案
- 網(wǎng)絡(luò)服務(wù)監(jiān)控的關(guān)鍵技術(shù)試題及答案
- 軟件設(shè)計(jì)師考試成果展示與評(píng)價(jià)試題及答案
- VB考試復(fù)習(xí)提綱與試題答案
- 2025軟件工程師試題及答案探討
- 數(shù)據(jù)分析工具的使用及試題及答案
- 2025至2030年中國(guó)雙杠搬運(yùn)車行業(yè)投資前景及策略咨詢研究報(bào)告
- 風(fēng)險(xiǎn)管理流程的實(shí)踐案例分析試題及答案
- 2025江蘇省招標(biāo)中心有限公司校園招聘30人筆試參考題庫(kù)附帶答案詳解
- 小學(xué)校園文化方案
- 酒旅直播培訓(xùn)課件
- 2025年醫(yī)院管理培訓(xùn)考試試題及答案
- 大學(xué)生思想政治教育課件教學(xué)
- 北京市公路貨運(yùn)車輛不停車檢測(cè)系統(tǒng)設(shè)施設(shè)備運(yùn)維定額2025
- 生產(chǎn)經(jīng)營(yíng)單位事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)機(jī)制實(shí)踐
- 《尿素合成的水溶液全循環(huán)法工藝設(shè)計(jì)綜述》1900字
- 2025-2030中國(guó)家政行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及發(fā)展趨勢(shì)與投資研究報(bào)告
- 2025年共青團(tuán)入團(tuán)考試題庫(kù)及答案
- 2025年生態(tài)環(huán)境監(jiān)測(cè)員考試題及答案
評(píng)論
0/150
提交評(píng)論