String类_练习

Edit

 

String类_练习

练习1:自定义一个trim方法,去除字符串两端的空格

需求:自定义一个trim方法,去除字符串两端的空格
思路:

  • 1.判断字符串第一个位置是否有空格,如果是继续向下判断,直到不是空格为止,结尾处判断空格也是如此
  • 2.当开始和结尾都判断到不是空格时,就是要获取的字符串
1.class StringTest 
2.
{
3. public static void main(String[] args)
4.
{
5. String s = " hello java ";
6. String s1 = myTrim(s);
7. sop(s1);
8. }
9. //练习1:去除字符串两端的空格
10. public static String myTrim(String str)
11.
{
12. int start = 0;
13. int end = str.length()-1;
14. while (start<=end && str.charAt(start) == ' ')
15. {
16. start++;
17. }
18. while (start<=end && str.charAt(end) == ' ')
19. {
20. end--;
21. }
22. return str.substring(start,end+1);
23. }
24. public static void sop(Object obj)
25.
{
26. System.out.println("("+obj+")");
27. }
28.}

练习2:将一个字符串指定部分进行反转

需求:将一个字符串指定部分进行反转
思路:

  • 1.将字符串编程数组,对数据进行反转;
  • 2.将反转后的数组编程字符串;
  • 3.只要将反转的部分的开始和结束位置作为参数传递即可取的字符串
1.class StringTest 
2.
{
3. public static void main(String[] args)
4.
{
5. //整个字符串反转
6. String s2 = reverseString(s);
7. sop(s2);
8. //字符串里的一部分反转);
9. String s3 = reverseString2(s,4,5);
10. sop(s3);
11. }
12. //练习2:将字符串反转
13. public static String reverseString(String str)
14.
{
15. //将字符串转换成字符数组
16. char[] ch = str.toCharArray();
17. //将字符数组反转
18. char[] ch1 = reverse(ch,0,ch.length-1);
19. //将反转后的字符数组转换成字符串
20. return new String(ch1);
21. }
22. //将字符串部分反转
23. public static String reverseString2(String str,int start,int end)
24.
{
25. //将字符串转换成字符数组
26. char[] ch = str.toCharArray();
27. //将字符数组反转
28. char[] ch1 = reverse(ch,start,end);
29. //将反转后的字符数组转换成字符串
30. return new String(ch1);
31. }
32. private static char[] reverse(char[] ch,int x,int y)
33. {
34. for (int start=x,end=y;start<end ;start++,end-- )
35. {
36. //交换两个数
37. swap(ch,start,end);
38. }
39. return ch;
40. }
41. private static void swap(char[] ch,int x,int y)
42.
{
43. char temp = ch[x];
44. ch[x] = ch[y];
45. ch[y] = temp;
46. }
47.}

练习3:获取一个字符串在另一个字符串中出现的次数

需求:获取一个字符串在另一个字符串中出现的次数
“abkkcdkkefkkafakk”
思路:

  • 1.定义一个计数器;
  • 2.获取kk第一次出现的位置;
  • 3.从第一次出现位置后剩下的字符串中继续获取kk出现的位置,没获取一次计数器加1
  • 4.当获取不到时,计数完成取的字符串
1.class StringTest 
2.
{
3. public static void main(String[] args)
4.
{
5. String s4 = "kkabkkdekktrkkdd";
6. sop(getSubCount(s4,"kk"));
7. sop(getSubCount2(s4,"kk")););
8. }
9. //练习3:获取字符创出现的次数
10. public static int getSubCount(String str,String key)
11.
{
12. int count = 0;
13. int index = 0;
14. while ((str.indexOf(key)) != -1)
15. {
16. index=str.indexOf(key);
17. str = str.substring(index+key.length());
18. count = count + 1;
19. }
20. return count;
21. }
22. //练习3_方法2
23. public static int getSubCount2(String str,String key)
24.
{
25. int count = 0;
26. int index = 0;
27. while (str.indexOf(key,index)!=-1 )
28. {
29. index = str.indexOf(key,index);
30. index = index + key.length();
31. count++;
32. }
33. return count;
34. }
35.}

练习4:获取两个字符串中最大相同子串

需求:获取两个字符串中最大相同子串
“abdeedjhelloyjahg”
“fafghellobmn”,就是要获取的字符串

1.class StringTest 
2.
{
3. public static void main(String[] args)
4.
{
5. String s5 = "abdeedjhelloyjahg";
6. String s6 = "fafghellobmn";
7. getMaxSubString(s5,s6);
8. }
9. //练习4
10. public static String getMaxSubString(String s1,String s2)
11.
{
12. String max = "",min = "";
13. max = (s1.length()>s2.length())?s1:s2;
14. min = (max==s1)?s2:s1;
15. for (int x=min.length();x>0 ;x-- )
16. {
17. for (int y=0;y+x<=min.length() ;y++ )
18. {
19. String s = min.substring(y,x+y);
20. sop(s);
21. if(max.contains(s))//if(max.indexOf(s) !=-1)
22. return s;//这里返回s,同时也结束了本方法的执行
23. }
24. }
25. return "";
26. }
27.}

@%2802.%u8D44%u6599%29%5B%20String%2C%20%u83B7%u53D6%2C%20%u5224%u65AD%2C%20%u8F6C%u6362%2C%20%u5206%u5272%2C%20%u5B50%u4E32%2C%20160827%2C%20%u7EC3%u4E60%2C%20String%5D%0A%23String%u7C7B_%u7EC3%u4E60%0A%0A%5BTOC%5D%0A%0A%23%23%23%u7EC3%u4E601%3A%u81EA%u5B9A%u4E49%u4E00%u4E2Atrim%u65B9%u6CD5%2C%u53BB%u9664%u5B57%u7B26%u4E32%u4E24%u7AEF%u7684%u7A7A%u683C%0A%3E%u9700%u6C42%3A%u81EA%u5B9A%u4E49%u4E00%u4E2Atrim%u65B9%u6CD5%2C%u53BB%u9664%u5B57%u7B26%u4E32%u4E24%u7AEF%u7684%u7A7A%u683C%0A%20%20%20%u601D%u8DEF%3A%0A%20%20-%201.%u5224%u65AD%u5B57%u7B26%u4E32%u7B2C%u4E00%u4E2A%u4F4D%u7F6E%u662F%u5426%u6709%u7A7A%u683C%2C%u5982%u679C%u662F%u7EE7%u7EED%u5411%u4E0B%u5224%u65AD%2C%u76F4%u5230%u4E0D%u662F%u7A7A%u683C%u4E3A%u6B62%2C%u7ED3%u5C3E%u5904%u5224%u65AD%u7A7A%u683C%u4E5F%u662F%u5982%u6B64%0A%20%20-%202.%u5F53%u5F00%u59CB%u548C%u7ED3%u5C3E%u90FD%u5224%u65AD%u5230%u4E0D%u662F%u7A7A%u683C%u65F6%2C%u5C31%u662F%u8981%u83B7%u53D6%u7684%u5B57%u7B26%u4E32%0A%60%60%60java%0Aclass%20StringTest%20%0A%7B%0A%09public%20static%20void%20main%28String%5B%5D%20args%29%20%0A%09%7B%0A%09%09String%20s%20%3D%20%22%20%20%20%20hello%20java%20%20%20%22%3B%0A%09%09String%20s1%20%3D%20myTrim%28s%29%3B%0A%09%09sop%28s1%29%3B%0A%09%7D%0A%09//%u7EC3%u4E601%3A%u53BB%u9664%u5B57%u7B26%u4E32%u4E24%u7AEF%u7684%u7A7A%u683C%0A%09public%20static%20String%20myTrim%28String%20str%29%0A%09%7B%0A%09%09int%20start%20%3D%200%3B%0A%09%09int%20end%20%3D%20str.length%28%29-1%3B%0A%09%09while%20%28start%3C%3Dend%20%26%26%20str.charAt%28start%29%20%3D%3D%20%27%20%27%29%0A%09%09%7B%0A%09%09%09start++%3B%0A%09%09%7D%0A%09%09while%20%28start%3C%3Dend%20%26%26%20str.charAt%28end%29%20%3D%3D%20%27%20%27%29%0A%09%09%7B%0A%09%09%09end--%3B%0A%09%09%7D%0A%09%09return%20str.substring%28start%2Cend+1%29%3B%0A%09%7D%0A%09public%20static%20void%20sop%28Object%20obj%29%0A%09%7B%0A%09%09System.out.println%28%22%28%22+obj+%22%29%22%29%3B%0A%09%7D%0A%7D%0A%60%60%60%0A---%0A%0A%23%23%23%u7EC3%u4E602%3A%u5C06%u4E00%u4E2A%u5B57%u7B26%u4E32%u6307%u5B9A%u90E8%u5206%u8FDB%u884C%u53CD%u8F6C%0A%3E%u9700%u6C42%3A%u5C06%u4E00%u4E2A%u5B57%u7B26%u4E32%u6307%u5B9A%u90E8%u5206%u8FDB%u884C%u53CD%u8F6C%0A%20%20%20%u601D%u8DEF%3A%0A-%201.%u5C06%u5B57%u7B26%u4E32%u7F16%u7A0B%u6570%u7EC4%2C%u5BF9%u6570%u636E%u8FDB%u884C%u53CD%u8F6C%3B%0A-%202.%u5C06%u53CD%u8F6C%u540E%u7684%u6570%u7EC4%u7F16%u7A0B%u5B57%u7B26%u4E32%3B%0A-%203.%u53EA%u8981%u5C06%u53CD%u8F6C%u7684%u90E8%u5206%u7684%u5F00%u59CB%u548C%u7ED3%u675F%u4F4D%u7F6E%u4F5C%u4E3A%u53C2%u6570%u4F20%u9012%u5373%u53EF%u53D6%u7684%u5B57%u7B26%u4E32%0A%60%60%60java%0Aclass%20StringTest%20%0A%7B%0A%09public%20static%20void%20main%28String%5B%5D%20args%29%20%0A%09%7B%0A%09%09//%u6574%u4E2A%u5B57%u7B26%u4E32%u53CD%u8F6C%0A%09%09String%20s2%20%3D%20reverseString%28s%29%3B%0A%09%09sop%28s2%29%3B%0A%09%09//%u5B57%u7B26%u4E32%u91CC%u7684%u4E00%u90E8%u5206%u53CD%u8F6C%29%3B%0A%09%09String%20s3%20%3D%20reverseString2%28s%2C4%2C5%29%3B%0A%09%09sop%28s3%29%3B%0A%09%7D%0A%09//%u7EC3%u4E602%3A%u5C06%u5B57%u7B26%u4E32%u53CD%u8F6C%0A%09public%20static%20String%20reverseString%28String%20str%29%0A%09%7B%0A%09%09//%u5C06%u5B57%u7B26%u4E32%u8F6C%u6362%u6210%u5B57%u7B26%u6570%u7EC4%0A%09%09char%5B%5D%20ch%20%3D%20str.toCharArray%28%29%3B%0A%09%09//%u5C06%u5B57%u7B26%u6570%u7EC4%u53CD%u8F6C%0A%09%09char%5B%5D%20ch1%20%3D%20reverse%28ch%2C0%2Cch.length-1%29%3B%0A%09%09//%u5C06%u53CD%u8F6C%u540E%u7684%u5B57%u7B26%u6570%u7EC4%u8F6C%u6362%u6210%u5B57%u7B26%u4E32%0A%09%09return%20new%20String%28ch1%29%3B%0A%09%7D%0A%09//%u5C06%u5B57%u7B26%u4E32%u90E8%u5206%u53CD%u8F6C%0A%09public%20static%20String%20reverseString2%28String%20str%2Cint%20start%2Cint%20end%29%0A%09%7B%0A%09%09//%u5C06%u5B57%u7B26%u4E32%u8F6C%u6362%u6210%u5B57%u7B26%u6570%u7EC4%0A%09%09char%5B%5D%20ch%20%3D%20str.toCharArray%28%29%3B%0A%09%09//%u5C06%u5B57%u7B26%u6570%u7EC4%u53CD%u8F6C%0A%09%09char%5B%5D%20ch1%20%3D%20reverse%28ch%2Cstart%2Cend%29%3B%0A%09%09//%u5C06%u53CD%u8F6C%u540E%u7684%u5B57%u7B26%u6570%u7EC4%u8F6C%u6362%u6210%u5B57%u7B26%u4E32%0A%09%09return%20new%20String%28ch1%29%3B%0A%09%7D%0A%09private%20static%20char%5B%5D%20reverse%28char%5B%5D%20ch%2Cint%20x%2Cint%20y%29%0A%09%7B%0A%09%09for%20%28int%20start%3Dx%2Cend%3Dy%3Bstart%3Cend%20%3Bstart++%2Cend--%20%29%0A%09%09%7B%0A%09%09%09//%u4EA4%u6362%u4E24%u4E2A%u6570%0A%09%09%09swap%28ch%2Cstart%2Cend%29%3B%0A%09%09%7D%0A%09%09return%20ch%3B%0A%09%7D%0A%09private%20static%20void%20swap%28char%5B%5D%20ch%2Cint%20x%2Cint%20y%29%0A%09%7B%0A%09%09char%20temp%20%3D%20ch%5Bx%5D%3B%0A%09%09ch%5Bx%5D%20%3D%20ch%5By%5D%3B%0A%09%09ch%5By%5D%20%3D%20temp%3B%0A%09%7D%0A%7D%0A%60%60%60%0A%0A---%0A%0A%23%23%23%u7EC3%u4E603%3A%u83B7%u53D6%u4E00%u4E2A%u5B57%u7B26%u4E32%u5728%u53E6%u4E00%u4E2A%u5B57%u7B26%u4E32%u4E2D%u51FA%u73B0%u7684%u6B21%u6570%0A%3E%u9700%u6C42%3A%u83B7%u53D6%u4E00%u4E2A%u5B57%u7B26%u4E32%u5728%u53E6%u4E00%u4E2A%u5B57%u7B26%u4E32%u4E2D%u51FA%u73B0%u7684%u6B21%u6570%0A%20%20%22abkkcdkkefkkafakk%22%0A%20%20%u601D%u8DEF%3A%0A-%201.%u5B9A%u4E49%u4E00%u4E2A%u8BA1%u6570%u5668%3B%0A-%202.%u83B7%u53D6kk%u7B2C%u4E00%u6B21%u51FA%u73B0%u7684%u4F4D%u7F6E%3B%0A-%203.%u4ECE%u7B2C%u4E00%u6B21%u51FA%u73B0%u4F4D%u7F6E%u540E%u5269%u4E0B%u7684%u5B57%u7B26%u4E32%u4E2D%u7EE7%u7EED%u83B7%u53D6kk%u51FA%u73B0%u7684%u4F4D%u7F6E%2C%u6CA1%u83B7%u53D6%u4E00%u6B21%u8BA1%u6570%u5668%u52A01%0A-%204.%u5F53%u83B7%u53D6%u4E0D%u5230%u65F6%2C%u8BA1%u6570%u5B8C%u6210%u53D6%u7684%u5B57%u7B26%u4E32%0A%60%60%60java%0Aclass%20StringTest%20%0A%7B%0A%09public%20static%20void%20main%28String%5B%5D%20args%29%20%0A%09%7B%0A%09%09String%20s4%20%3D%20%22kkabkkdekktrkkdd%22%3B%0A%09%09sop%28getSubCount%28s4%2C%22kk%22%29%29%3B%0A%09%09sop%28getSubCount2%28s4%2C%22kk%22%29%29%3B%29%3B%0A%09%7D%0A%09//%u7EC3%u4E603%3A%u83B7%u53D6%u5B57%u7B26%u521B%u51FA%u73B0%u7684%u6B21%u6570%0A%09public%20static%20int%20getSubCount%28String%20str%2CString%20key%29%0A%09%7B%0A%09%09int%20count%20%3D%200%3B%0A%09%09int%20index%20%3D%200%3B%0A%09%09while%20%28%28str.indexOf%28key%29%29%20%21%3D%20-1%29%0A%09%09%7B%0A%09%09%09index%3Dstr.indexOf%28key%29%3B%0A%09%09%09str%20%3D%20str.substring%28index+key.length%28%29%29%3B%0A%09%09%09count%20%3D%20count%20+%201%3B%0A%09%09%7D%0A%09%09return%20count%3B%0A%09%7D%0A%09//%u7EC3%u4E603_%u65B9%u6CD52%0A%09public%20static%20int%20getSubCount2%28String%20str%2CString%20key%29%0A%09%7B%0A%09%09int%20count%20%3D%200%3B%0A%09%09int%20index%20%3D%200%3B%0A%09%09while%20%28str.indexOf%28key%2Cindex%29%21%3D-1%20%29%0A%09%09%7B%0A%09%09%09index%20%3D%20str.indexOf%28key%2Cindex%29%3B%0A%09%09%09index%20%3D%20index%20+%20key.length%28%29%3B%0A%09%09%09count++%3B%0A%09%09%7D%0A%09%09return%20count%3B%0A%09%7D%0A%7D%0A%60%60%60%0A%0A---%0A%0A%23%23%23%u7EC3%u4E604%3A%u83B7%u53D6%u4E24%u4E2A%u5B57%u7B26%u4E32%u4E2D%u6700%u5927%u76F8%u540C%u5B50%u4E32%0A%3E%u9700%u6C42%3A%u83B7%u53D6%u4E24%u4E2A%u5B57%u7B26%u4E32%u4E2D%u6700%u5927%u76F8%u540C%u5B50%u4E32%0A%20%20%22abdeedjhelloyjahg%22%0A%20%20%22fafghellobmn%22%2C%u5C31%u662F%u8981%u83B7%u53D6%u7684%u5B57%u7B26%u4E32%0A%60%60%60java%0Aclass%20StringTest%20%0A%7B%0A%09public%20static%20void%20main%28String%5B%5D%20args%29%20%0A%09%7B%0A%09%09String%20s5%20%3D%20%22abdeedjhelloyjahg%22%3B%0A%09%09String%20s6%20%3D%20%22fafghellobmn%22%3B%0A%09%09getMaxSubString%28s5%2Cs6%29%3B%0A%09%7D%0A%09//%u7EC3%u4E604%0A%09public%20static%20String%20getMaxSubString%28String%20s1%2CString%20s2%29%0A%09%7B%0A%09%09String%20max%20%3D%20%22%22%2Cmin%20%3D%20%22%22%3B%0A%09%09max%20%3D%20%28s1.length%28%29%3Es2.length%28%29%29%3Fs1%3As2%3B%0A%09%09min%20%3D%20%28max%3D%3Ds1%29%3Fs2%3As1%3B%0A%09%09for%20%28int%20x%3Dmin.length%28%29%3Bx%3E0%20%3Bx--%20%29%0A%09%09%7B%0A%09%09%09for%20%28int%20y%3D0%3By+x%3C%3Dmin.length%28%29%20%3By++%20%29%0A%09%09%09%7B%0A%09%09%09%09String%20s%20%3D%20min.substring%28y%2Cx+y%29%3B%0A%09%09%09%09sop%28s%29%3B%0A%09%09%09%09if%28max.contains%28s%29%29//if%28max.indexOf%28s%29%20%21%3D-1%29%0A%09%09%09%09%09return%20s%3B//%u8FD9%u91CC%u8FD4%u56DEs%2C%u540C%u65F6%u4E5F%u7ED3%u675F%u4E86%u672C%u65B9%u6CD5%u7684%u6267%u884C%0A%09%09%09%7D%0A%09%09%7D%0A%09%09return%20%22%22%3B%0A%09%7D%0A%7D%0A%60%60%60%0A%0A---%0A%0A

 

转载于:https://www.cnblogs.com/RuntimExcep/p/7121274.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值