代码如下:
package com.liming.mytest01;
public class Test01 {
public static void main(String[] args) {
//找出两个字符中的最大子串 def
String str1 = "abcadefmngxyzadef";
String str2 = "xyzadefmnqabc";
//获取长度较短的字符串并调用获取字符串长度函数
if (str1.length() > str2.length()) {
System.out.println("最大相同子字符串:" + MaxSubString(str2, str1));
} else {
System.out.println("最大相同子字符串:" + MaxSubString(str1, str2));
}
}
public static String MaxSubString(String s1, String s2) {
String temp = "";
//先从短字符串的长度开始,逐步递减长度,直到出现符合的字符串
for (int i = 0; i < s1.length(); i++) {
for (int j = 0, k = s1.length() - i; k < s1.length(); j++, k++) {
temp = s1.substring(j, k);
if (s2.contains(temp)) {
return temp;
}
}
}
return null;
}
}
运行效果图: