更新時間:2020-08-26 15:41:24 來源:動力節(jié)點(diǎn) 瀏覽2330次
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ù)字個數(shù)
//如:“abc21b416u”===>輸出5
函數(shù)原型:
public static int isNumeric(String str){
}
思路:首先通過String類里面的charAt()方法字符串中每個位置的字符,
然后通過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){
}
思路:(這個方法感覺都能把自己給蠢哭)先把原字符串分成三部分,
根據(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é)果如下
以上就是動力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“這些初級的Java字符串練習(xí)題,你會做嗎”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時為你服務(wù)。
初級 202925
初級 203221
初級 202629
初級 203743