exa:
1.获取两个字符串中最大相同子串。比如:
str1 = “abcwerthelloyuiodef”; str2 = “cvhellobnm”
提示:将短的那个串进行长度依次递增的子串与较长
的串比较。
public class TestStringContains{
public static void main(String[] args) {
String str1="abcwerthelloyuiodef";
String str2="cvhellobnm";
//方法一的测试调用
String s=TestStringContains.maxSubstring(str1, str2);
System.out.println("最大相同字符串是:"+s);
//方法二的测试调用
TestStringContains.getsames(str1, str2);
}
//方法一
public static String maxSubstring(String str1,String str2){
while(str2.length() != 1){
String str3 = str2;
while(str3.length() != 1){
if(!str1.contains(str3)){
str3 = str3.substring(0, str3.length()-1);
}else{
return str3;
}
}
str2 = str2.substring(1);
}
return null;
}
//方法二
public static void getsames(String str1,String str2){
int count = 0;
String str = "";
for (int i = 0; i < str2.length(); i++) {
for (int j = 1; j < str2.length(); j++) {
if (i < j) {
String temStr = str2.substring(i, j);
int indexOf = str1.indexOf(temStr);
if (indexOf != -1) {
if (temStr.length() > count) {
count = temStr.length();
str = temStr;
}
}
}
}
}
System.out.println("最大相同字符串是:" + str + ",它长度为:" + count);
}
}