如题
package com.mxh.java01;
import org.junit.Test;
public class StringDemo03 {
//前提:两个字符串只有一个最大相同的子串
public String getMaxSameString(String str1, String str2) {
if (str1 != null && str2 != null) {
String maxStr = (str1.length() >= str2.length()) ? str1 : str2;
String minStr = (str1.length() < str2.length()) ? str1 : str2;
int Length = minStr.length();
for (int i = 0; i < Length; i++) {
for (int x=0 ,y=Length-i ;y<=Length ;x++,y++ ) {
String subStr = minStr.substring(x,y);
if (maxStr.contains(subStr)){
return subStr;
}
}
}
}
return null;
}
@Test
public void TEss01(){
String s1 = "我是羊村苗小猴,我喜欢吃西瓜";
String s2 = "ashdk我喜欢跳吃";
String maxSameString = getMaxSameString(s1, s2);
System.out.println("maxSameString = " + maxSameString);
}
}
结果:



