public class MaxSubStr {
private static void getMaxSubStr(String a, String b) {
char[] aStr = a.toCharArray();
char[] bStr = b.toCharArray();
Integer maxLen = 0;
String maxStr = "";
for (int i = 0; i < aStr.length - 1; i++) {
for (int j = 0; j < bStr.length - 1; j++) {
// 设定默认的值
int tempMaxLen = 0;
String tempMaxStr = "";
// 循环不操作i
int temp = i;
while (aStr[temp] == bStr[j]) {
tempMaxStr = tempMaxStr + aStr[temp];
tempMaxLen++;
temp++;
j++;
if (temp > aStr.length - 1 || j > bStr.length - 1) {
break;
}
}
// 如果找到比之前打的 就替换最长子串
if (tempMaxLen > maxLen) {
maxLen = tempMaxLen;
maxStr = tempMaxStr;
}
}
}
System.out.println(maxStr);
System.out.println(maxLen);
}
public static void main(String[] argv) {
String a = "fjwjfiwaef54qwe12efsad";
String b = "oieooamgqwpekjijwe;qwe12ea2342adfsjao3ejwjfw";
getMaxSubStr(a, b);
}
}