上機(jī)指導(dǎo)5―字符串處理_第1頁
上機(jī)指導(dǎo)5―字符串處理_第2頁
上機(jī)指導(dǎo)5―字符串處理_第3頁
上機(jī)指導(dǎo)5―字符串處理_第4頁
上機(jī)指導(dǎo)5―字符串處理_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、上機(jī)指導(dǎo)5 字符串處理5.1 實(shí)驗(yàn)?zāi)康模?)掌握J(rèn)ava中的字符串的定義,理解基于引用模型定義的字符串。(2)掌握String字符串的常用方法。(3)掌握StringBuffer字符串的定義和常用方法。(4)比較和理解String和StringBuffer字符串的相同和不同之處。5.2 實(shí)驗(yàn)內(nèi)容5.2.1 反轉(zhuǎn)字符串 【問題描述】編寫一個(gè)Java程序,把一個(gè)字符串反轉(zhuǎn)過來顯示,如將字符串“I love Java”顯示為“avaJ evol I”?!净疽蟆恳蟾鶕?jù)字符串的構(gòu)成原理來編寫?!舅惴枋觥坑捎谧址怯勺址麡?gòu)成的,因此將一個(gè)字符串進(jìn)行反轉(zhuǎn)輸出是很容易的?!舅惴▽?shí)現(xiàn)】請(qǐng)自己編程實(shí)現(xiàn)。

2、【心得體會(huì)】(1)字符串是由字符構(gòu)成的,并且基于引用類型,只要充分的理解這一點(diǎn),就很容易實(shí)現(xiàn)各種功能。(2)學(xué)會(huì)取得字符串的長(zhǎng)度來控制循環(huán)。5.2.2 ASCII編碼和Unicode編碼的轉(zhuǎn)換【問題描述】 編寫一個(gè)Java程序,該程序能夠?qū)SCII編碼的字符串轉(zhuǎn)化為Unicode編碼和將Unicode編碼的字符串轉(zhuǎn)化為ASCII編碼。 【基本要求】要求能夠?qū)⒁粋€(gè)ASCII編碼的字符串轉(zhuǎn)為Unicode編碼,Unicode編碼的字符串轉(zhuǎn)換為ASCII編碼?!舅惴枋觥繉⒁粋€(gè)ASCII編碼的字符串轉(zhuǎn)為Unicode編碼,Unicode編碼的字符串轉(zhuǎn)換為ASCII編碼的基本算法的是理解兩種編碼的構(gòu)

3、成差異。ASCII編碼是由一個(gè)字節(jié)構(gòu)成的,因此可以以byte類型來表示,而Unicode 編碼是由兩個(gè)字節(jié)構(gòu)成的,因此可以用char類型來表示。理解了這一點(diǎn),就可以很容易的編寫程序了。 【算法實(shí)現(xiàn)】參考實(shí)現(xiàn):/實(shí)現(xiàn)將一個(gè)ASCII編碼的字符串轉(zhuǎn)為Unicode編碼,Unicode編碼的字符串轉(zhuǎn)換為ASCII編碼public class CodeConverter /構(gòu)造函數(shù)為空 public CodeConverter(/*將非空的unicode 轉(zhuǎn)換為ASCII*/public static String nicode2ascii(String sif(s = null | s.length

4、(= 0return null;/提供兩倍的空間char buffer = new char s.length(* 2;char c;int j = 0;/ASCII編碼是由一個(gè)字節(jié)構(gòu)成的,因此可以byte類型來表示/Unicode 編碼是由兩個(gè)字節(jié)構(gòu)成的,因此可以用char類型來表示for(int i = 0; i < s.length(; i+/判斷是否大于0x100,十進(jìn)制是256if(s.charAt(i>= 0x100c = s.charAt(i;byte buf =("" + c.getBytes(;/分別取兩個(gè)字節(jié),j+,先取低位的第一字節(jié)buff

5、er j+ =(charbuf 0;/取高位的第二字節(jié)bufferj+ =(charbuf1;elsebufferj+ = s.charAt(i;return new String(buffer,0,j;/*將ASCII轉(zhuǎn)換為unicode*/public static String ascii2unicode(String sif(s=null | s.length(=0return ""byte buffer = new bytes.length(;/ASCII編碼是由一個(gè)字節(jié)構(gòu)成的,因此可以用byte類型來表示/Unicode 編碼是由兩個(gè)字節(jié)構(gòu)成的,因此可以用cha

6、r類型來表示/用一個(gè)數(shù)組來存放for(int i=0;i bufferi =(bytes.charAt(i; return new String(buffer;【心得體會(huì)】(1)理解ASCII編碼和Unicode編碼的構(gòu)成差異。(2)在Java程序中已經(jīng)提供了編碼轉(zhuǎn)換的類和方法,但是理解這種實(shí)現(xiàn)還是很重要的,因?yàn)楫?dāng)前的網(wǎng)絡(luò)中大量的使用了Unicode編碼。5.2.3 提取字符【問題描述】 編寫一個(gè)Java程序,從輸入的一個(gè)字符串中提取出數(shù)字并組合成一個(gè)整數(shù)。例如將my age is 23 years中的23提取出來。 【基本要求】要求采用StringBuffer的類來實(shí)現(xiàn)?!舅惴枋觥縎tri

7、ngBuffer和String是對(duì)等的類。本實(shí)驗(yàn)的目的是初步體會(huì)StringBuffer類的使用方法,并試比較它和String類的不同?!舅惴▽?shí)現(xiàn)】參考實(shí)現(xiàn):import java.lang.*;public class Digesterpublic static void main(String args/沒有輸入?yún)?shù),如果為0,則輸出提示信息if(args.length = 0System.out.println("There are no string inputted"return;/把參數(shù)的值給變量1StringBuffer sb1 = new StringBuf

8、fer(args0;/用來存放值StringBuffer sb2 = new StringBuffer(;int i, result = 0;char ch;/不斷的讀原字符串中的值,并判斷這個(gè)字符是否是數(shù)字字符for(i = 0; i < sb1.length(; i+ch = sb1.charAt(i;if(ch >= '0'&&(ch <= '9'/把數(shù)字字符存放到sb2中sb2.append(ch;/判斷if(sb2.length(> 0result = Integer.parseInt(sb2.toString(;System.out.println

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論