更新時(shí)間:2020-08-26 15:41:24 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2729次
1、字符串轉(zhuǎn)化(壓縮)“aabbccdaa”->“a2b2c2d1a2”
函數(shù)原型:
public static String stringCompress(String str){
}
思路:首先把原字符串由String類型轉(zhuǎn)換為StringBuilder類型,
然后再調(diào)用StringBuilder類里面的一些方法將原字符串進(jìn)行變換,
最后再返回String類型。
public?class?TestDemo1??{
????public?static?String?stringCompress(String?str)?{
????????StringBuilder?p?=?new?StringBuilder();
????????p.append(str);
????????p.replace(1,2,"2");
????????p.replace(3,4,"2");
????????p.replace(5,6,"2");
????????p.insert(7,"1");
????????p.replace(9,10,"2");
????????return?p.toString();
????}
????public?static?void?main(String[]?args)?{
???????String?str?=?"aabbccdaa";
????????System.out.println(stringCompress(str));
????}
}
結(jié)果如下

2、統(tǒng)計(jì)字符串中數(shù)字個(gè)數(shù)
//如:“abc21b416u”===>輸出5
函數(shù)原型:
public static int isNumeric(String str){
}
思路:首先通過String類里面的charAt()方法字符串中每個(gè)位置的字符,
然后通過Character.isDigit()方法來判斷得到的字符是否為數(shù)字并計(jì)數(shù)。
public?class?TestDemo1??{
????public?static?int?isNumeric(String?str){
????????int?count?=?0;
????????for?(int?i?=?0;?i?<?str.length();?i++)?{
????????????if?(Character.isDigit(str.charAt(i)))?{
????????????????count++;
????????????}
????????}
????????return?count;
????}
????public?static?void?main(String[]?args)?{
???????String?str2?=?"abc21b416u";
????????System.out.println(isNumeric(str2));
????}
}
結(jié)果如下

3、題目:=====i am biter逆置為:biter am i
函數(shù)原型:
public static String reverseSentence(String str){
}
思路:(這個(gè)方法感覺都能把自己給蠢哭)先把原字符串分成三部分,
根據(jù)所想得到的結(jié)果,反復(fù)的使用reverse()方法進(jìn)行反轉(zhuǎn)。
(其中還需要不斷的在String類和StringBuilder類之間進(jìn)行類型切換)
public?class?TestDemo1??{
????public?static?String?reverseSentence(String?str)?{
????????String?str1?=?str.substring(0,2);
????????String?str2?=?str.substring(2,4);
????????String?str3?=?str.substring(5);
????????StringBuilder?p?=?new?StringBuilder();
????????StringBuilder?q?=?new?StringBuilder();
????????p.append(str2);
????????q.append(str3);
????????StringBuilder?x?=?p.reverse();
????????StringBuilder?y?=?q.reverse();
????????String?str4?=?x.toString();
????????String?str5?=?y.toString();
????????String?str6?=?str1?+?str4?+?"?"?+str5;
????????StringBuilder?r?=?new?StringBuilder();
????????r.append(str6);
????????return?r.reverse().toString();
????}
????public?static?void?main(String[]?args)?{
???????String?str?=?"i?am?biter";
????????System.out.println(reverseSentence(str));
????}
}
結(jié)果如下

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“這些初級(jí)的Java字符串練習(xí)題,你會(huì)做嗎”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)