//找出两个字符串中最长的相同子字符串 public class Stringdemo { public static void main(String[] args) { String str1 = new String("eeabcde"); String str2 = new String("bcdefabcabcdedegg"); byte[] char1 = str1.getBytes(); byte[] char2 = str2.getBytes(); int len1 = char1.length; int len2 = char2.length; String maxchar=new String(""); StringBuffer temp = new StringBuffer(" "); int maxl = 0; int loops = 0; for(int i=0;i<len1;i++) for(int j=0;j<len2;j++){ int pos1 = i; int pos2 = j; int l = 0; //temp = new StringBuffer(""); temp.delete(0, temp.length()); while(char1[pos1]==char2[pos2]) { l++; temp.append((char)char1[pos1]); if (++pos1>len1-1) break; if (++pos2>len2-1) break; } //System.out.println(""+(++loops)+":"+temp); if (l>maxl) { maxl = l; maxchar = temp.toString(); } } System.out.println(""+maxl+" "+maxchar); } }