package com.exec;
import javax.lang.model.element.NestingKind;
import java.util.Arrays;
import java.util.Scanner;
/**
* java
*获取两个字符串中最大相同的字串。
* @author 羿禾
* @Create 2022-07-11 16:38
*/
public class StringDeno2 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入第一个字符串");
String str1=input.next();
System.out.println("请输入第二个字符串:");
String str2=input.next();
String[] maxSameStrings=getMaxSameString(str1,str2);
System.out.println(Arrays.toString(maxSameStrings));
}
public static String[] getMaxSameString(String str1,String str2)
{
if(str1!=null && str2!=null) {
StringBuffer sBuffer=new StringBuffer();
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 j = 0, k = length - i; k<=length; j++,k++) {
String subStr = minStr.substring(j, k);
if (maxStr.contains(subStr)) {
sBuffer.append(subStr+",");
}
}
if(sBuffer.length()!=0)
{
break;
}
}
String[] split=sBuffer.toString().replaceAll(",$","").split("\\,");
return split;
}
return null;
}
}