码迷,mamicode.com
首页 > 编程语言 > 详细

java语言编程,求两个字符串的最大子串

时间:2014-12-05 17:31:34      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:java   string   

package stringTest;

public class StringDemo4 {
	public static void main(String[] args) {
		String str1 = "Ilikejavaverymuch";
		String str2 = "java is useful";
		
		StringDemo4 sd4 = new StringDemo4();
		sd4.sop(sd4.getMaxSubString1(str1, str2));
	}

	/**
	 * 求两个字符串的最大相同子串,思路:
	 * 1、将短的字符串,按照长度递减的方式获取子串(核心)
	 * 2、将每个获取的子串,判断是否在长的字符串中存在
	 * */
	String getMaxSubString1(String str1, String str2) {
		String maxStr ="", minStr = "";
		maxStr = str1.length() > str2.length() ? str1:str2;
		minStr = (maxStr == str1) ? str2:str1;
		
		for(int i = 0; i < minStr.length(); i++){
			for(int start = 0, end = minStr.length()-i; end <= minStr.length(); start++, end++){
				if (maxStr.contains(minStr.substring(start, end))){
					return minStr.substring(start, end);
				}
			}
		}
		
		return "";
	}
	
	//打印字符串
	void sop(String str){
		System.out.println("str = " + str + "");
	} 	
}

打印结果:

str = java

java语言编程,求两个字符串的最大子串

标签:java   string   

原文地址:http://blog.csdn.net/u011402596/article/details/41749033

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!