将一个字符串进行反转;获取一个字符串在另一个字符串中出现的次数;获取两个字符串中最大相同子串。

1.将一个字符串进行反转。将字符串中指定部分进行反转。比如将“abcdefg”反转为”abfedcg”

 2.获取一个字符串在另一个字符串中出现的次数。 比如:获取“ab”在 “abkkcadkabkebfkabkskab”中出现的次数

 1 package string;
 2 
 3 /*
 4  * 1.将一个字符串进行反转。将字符串中指定部分进行反转。比如将“abcdefg”反转为”abfedcg”
 5  */
 6 public class Test1 {
 7     public static void main(String[] args) {
 8         String str2 = "abcdefg";
 9         String str3 = reverseString(str2, 2, 5);
10         System.out.println(str3);
11     }
12 
13     public static String reverseString(String str, int start, int end) {
14         String str1 = str.substring(0, start);
15         for (int i = end; i >= start; i--) {
16             char c = str.charAt(i);
17             str1 += c;
18         }
19         str1 += str.substring(end + 1);
20         return str1;
21     }
22 }
 1 package string;
 2 
 3 public class Test2 {
 4     /*
 5      * 2.获取一个字符串在另一个字符串中出现的次数。 比如:获取“ab”在 “abkkcadkabkebfkabkskab”中出现的次数
 6      */
 7     public static void main(String[] args) {
 8         int i = getTime("abkkcadkabkebfkabkskab", "abk");
 9         System.out.println(i);
10     }
11 
12     public static int getTime(String str1, String str2) {
13         int count = 0;
14         int len;
15         while ((len = str1.indexOf(str2)) != -1) {
16             count++;
17             str1 = str1.substring(len + str2.length());
18         }
19         return count;
20     }
21 }
 1 package string;
 2 
 3 /*
 4  * 3.获取两个字符串中最大相同子串。比如:str1 = "abcwerthelloyuiodef";str2 = "cvhellobnm"
 5  */
 6 public class Test3 {
 7     public static void main(String[] args) {
 8         String str1 = "abcwerthelloyuiodef";
 9         String str2 = "cvhellobnm";
10         StringBuilder str = getMaxSubString(str1, str2);
11         System.out.println(str);
12     }
13 
14     public static StringBuilder getMaxSubString(String str1, String str2) {
15         String maxStr = (str1.length() > str2.length()) ? str1 : str2;
16         String minStr = (str1.length() < str2.length()) ? str1 : str2;
17         int len = minStr.length();
18         StringBuilder sb=new StringBuilder();
19         for (int i = 0; i < len; i++) {
20             for (int x = 0, y = len - i; y <= len; x++, y++) {
21                 String str = minStr.substring(x, y);
22                 if (maxStr.contains(str)) {
23                     sb.append(str);
24                 }
25             }
26             if(sb.length()!=0){
27                 return sb;
28             }
29         }
30         return null;
31     }
32 
33 }
原文地址:https://www.cnblogs.com/String-likainian/p/5824923.html