1、字符串转化(压缩)“aabbccdaa”->“a2b2c2d1a2”
函数原型:
public static String stringCompress(String str){}
思路:首先把原字符串由String类型转换为StringBuilder类型,
然后再调用StringBuilder类里面的一些方法将原字符串进行变换,
最后再返回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)); }}
结果如下
2、统计字符串中数字个数
//如:“abc21b416u”===>输出5函数原型:public static int isNumeric(String str){}
思路:首先通过String类里面的charAt()方法字符串中每个位置的字符,
然后通过Character.isDigit()方法来判断得到的字符是否为数字并计数。
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)); }}
结果如下
3、题目:=====i am biter逆置为:biter am i
函数原型:
public static String reverseSentence(String str){}
思路:(这个方法感觉都能把自己给蠢哭)先把原字符串分成三部分,
根据所想得到的结果,反复的使用reverse()方法进行反转。
(其中还需要不断的在String类和StringBuilder类之间进行类型切换)
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)); }}
结果如下
以上就是长沙达内教育java培训机构的小编针对“这些初级的Java字符串练习题,你会做吗”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。