java String类-获取两个字符串的最长相同子串
Posted dongmeima_coder
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java String类-获取两个字符串的最长相同子串相关的知识,希望对你有一定的参考价值。
/*
获取两个字符串中最大相同子串。枚举出长度较短的字符串的所有子串。将子串放在字符串数组中。
通过循环判断长度较长的字符串中是否包含字符串数组中的元素,并返回包含且最长的子字符串。
*/
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类-获取两个字符串的最长相同子串的主要内容,如果未能解决你的问题,请参考以下文章