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类-获取两个字符串的最长相同子串的主要内容,如果未能解决你的问题,请参考以下文章

java语言中编程求解两个字符串最长相同字符串的长度

用JAVA编写一个程序实现,计算两个字符串最长相同子串的长度。

找出两个字符串中最大的相同子字符串

java基础

求两个输入的字符串的最长公共子串

请帮忙///如何计算两个 字符串的最长公共子串