/*
4,获取两个字符串中最大相同子串。第一个动作:将短的那个串进行长度一次递减的子串打印。
"abcwerthelloyuiodef"
"cvhellobnm"
思路:
1,将短的那个子串按照长度递减的方式获取到。
2,将每获取到的子串去长串中判断是否包含,
如果包含,已经找到!。
*/
class StringTest4
{
public static void main(String[] args)
{
String str1 = "abcdefg";
String str2 = "whh";
String str = findString(str1,str2);
System.out.println("str1="+"\""+str1+"\"\n"+"str2="+"\""+str2+"\"");
System.out.println("最大相同子串是:" + str);
}
public static String findString(String long_s, String short_s)
{
String s = "";
if ((long_s.length()) < (short_s.length()))
{
s = short_s;
short_s = long_s;
long_s = s;
}
for (int x = 0 ; x < short_s.length(); x++)
{
for (int begin = 0, end = short_s.length() - x; end <= short_s.length(); begin++, end++)
{
String stringtemp = short_s.substring(begin,end);
System.out.println(stringtemp);
if (long_s.contains(stringtemp))
{
return stringtemp;
}
}
}
return "没有相同子串";
}
}
|
|