/*
获取两个字符串中最大相同子串。枚举出长度较短的字符串的所有子串。将子串放在字符串数组中。
通过循环判断长度较长的字符串中是否包含字符串数组中的元素,并返回包含且最长的子字符串。
*/
class StringTest4
{
public static void main(String[] args)
{
string_sub("asddghjukihjughjkssfghyj","adhasjkssdghjuoop");
System.out.println("Hello World!");
}
public static void string_sub(String str1,String str2)
{
if(str1.length()>str2.length())
sop(deal(str2,str1));
else
sop(deal(str1,str2));
}
public static String deal(String str1,String str2)
{
String[] arr=new String[100000000];
boolean flag=false;
String max="";
int k=0;
for (int j=0;j<str1.length();j++)
{
for(int i=j+1;i<=str1.length();i++)
arr[k++]=str1.substring(j,i);
}
for(int i=0;i<k;i++)
{
if(str2.contains(arr[i]))
{
flag=true;
if(max.length()<arr[i].length())
{
max=arr[i];
}
}
}
return flag?max:"不存在公共子串";
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
java String类-获取两个字符串的最长相同子串
最新推荐文章于 2024-01-18 16:34:14 发布