黑马程序员java培训就业班笔记StringBuffer、基本数据类型的封装)总结

Day15总结:1、String类方法编程练习题:重点掌握思想1,需求:将字符串中进行反转。abcde-->edcba思路:1、因为反转,想到之前做个数组的反转的例子,1、先将字符串转变为数组。2、有了数组后直接进行头尾角标元素的位置置换即可3、将数组转成字符串。步骤:1、将字符串转成数组:toCharArray();2、对数组进行位置置换swap()3、将数组转成字符串,用字符串构造函数就可以了。实现代码:Publicstaticvoidmain(String[]arsg){Stringstr="abcde";Str=reverseString(str);Sop(str);}//对制定字符串进行反转。接收一个反转的字符串,返回反转后的字符串。PublicstaticStringreverseString(Stringstr){//将字符串变成字符数组。Char[]chs=str.toCharArray();//这里对字串转成字符数组的方法应用还不是很熟悉,应该多花时间补。//对数组进行遍历完成头尾角标元素的置换。For(intstart=0,end=chs.length-1;start<end;start++,end--){Swap(chs,start,end);}ReturnnewString(chs);}//对字符串进行位置置换。Swap()2、需求:对字符串中的字母进行排序,变成有序的字符串。"bdacxrtq"-->"abcdqrtx";思路:1、先把字符串变成数组2、对数组元素进行排序3、将数组变成字符串实现代码:PublicstaticStringsortString(Stringstr){将字符串变成数组Char[]chs=getCharArray(str);对数组进行排序---本文于网络,仅供参考,勿照抄,如有侵权请联系删除---sortCharArray(chs);将排序后的数组变成字符串Stringtemp=newString(chs);Returntemp;}//对字符数组进行排序PublicstaticvoidsortCharArray(char[]chs){For(intx=0;x<chs.length01;x++){For(inty=x+1;y<chs.length;y++){If(chs[x]>chs[y])Swap(chs,x.y)}}}Swap()//在此省略不写Publicstaticchar[]getCharArray(Stringstr){Char[]chs=str.toCharArray();Returnchs;}3、需求:获取一个字符串在另一个字符串中出现的次数。"kk""kksdfkkghkkjekkrtkk"思路:1、先要明确字符串中的是否有要查找的字串,如果有,应该记录该字串,的第一次出现的位置.2、在第一位位置后,对剩余的字符串再次出现该字串查找,并获取位置,3、以为类推,通过记录数完成字串出现次数的获取。步骤:1、定义计数器2、因为每一次出现的位置不同,所以定义变量记录位置。3、通过indexof方法获取位置,同时该方法的好处就是可以通过-1判断是否存在。4、只要存在,就循环查找,并计数,同时要获取查找后的剩余字符串,在剩余字符串继续查找,通过substring(start)就可以了,而start的值就是查找到的角标+字串的长度。实现代码:PublicstaticintgetSubStringCount(Stringstr,Stringkey){Intcount=0;Intindex=0;While((index=str.intdex(key,index))!=-1)Index=index+key.length();Count++;---本文于网络,仅供参考,勿照抄,如有侵权请联系删除---}Returncount;4,获取两个字符串最大相同子串。"xcvcctvb""tyuicctvonmyui"思路:1、对短的字串进行判断,用第一个角标元素和最后一个角标元素,也就是0到length()-1;如果没有,则缩短范围,1到length()-1;或者0到length()-2;依次这样下去,但是判断当了length()+1时就表示没有包含的字串。发现随着字符串比较次数的增加,每次判断的次数也在递增,所以可以用到大圈套小圈的原理实现代码:PublicstaticStringgetMaxSubString(Strings1,Strings2){Stringmax,min;定义两个字符串类型的变量max和min用来记录参与比较的两个字符中那个较大的串,哪个是较小的字串。Max=s1.,length()>s2.length()?s1:s2;Min=s1.equals(max)?s2:s1;用来判断哪个是较小的字串。For(intx=0;x<min.length();x++){For(inty=0,z=min,length()-x;z!=min.length()+1;y++,z++)//z=min.length()-x;用来控制字串缩小的范围,z!=min.,length()+1???{Stringtemp=min.substring(y,z);//获取字串Sop(temp);//打印字串If(max.contains(temp))//用contains方法来判断获取到字串是否在较大的串中存在。如果存在则返回这个串。{Returntemp;}}}Returnnull;}5、对一个字符串去除两端的空格:思路:1、首先对字符串首尾进行判断,是否为...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?