本帖最后由 ganjx 于 2015-10-3 10:38 编辑
- <div class="blockcode"><blockquote>class TestFindMaxStringDemo
- {
- public static void main(String [] args)
- {
- TestFindMaxString("dsjiafjdifjaosf","jsfjdifjf");//
- }
-
- public static void TestFindMaxString(String str1,String str2)
- {
- //int max = getMaxlength(str1,str2);
- //取出最短的字符串长度
- int min = getMinlength(str1,str2);
- //取出最长的字符串
- String maxString = ((str1.length()>str2.length())?str1:str2);
- //取出最短的字符串
- String minString = ((str1.length()>str2.length())?str2:str1);
- String temp="";
- /*
- for(int len=min;len>0;len-- )//假设字符串的长度
- {
- for(int pos=0;pos+len<min;pos++)//不能越界
- {
- temp=minString.substring(pos,len+pos);
- if(maxString.indexOf(temp)!=-1)
- {
-
- System.out.println(temp);
- //return temp;//取出最大字符串,但当有多个长度一样时只能取出一个
- }
- }
- }
- */<
- boolean flag=false;
- for(int len=min;len>0;len-- )//假设字符串的长度
- {
- if(flag)
- break;
-
- for(int pos=0;pos+len<min;pos++)//不能越界
- {
- temp=minString.substring(pos,len+pos);
- if(maxString.indexOf(temp)!=-1)
- {
- flag=true;
- System.out.println(temp);
- }
- }
- }
- }
- /*
- 取出两字符串的最长
- **/
- public static int getMaxlength(String str1,String str2)
- {
- return (str1.length()>str2.length())?str1.length():str2.length();
- }
- /*
- 取出两字符串的最短
- **/
- public static int getMinlength(String str1,String str2)
- {
- return (str1.length()>str2.length())?str2.length():str1.length();
- }
- }
复制代码
|
|