/*获取两个字符串中最大相同子串。比如:
str1 = "abcwerthelloyuiodef“;str2 = "cvhellobnm"//10
提示:将短的那个串进行长度依次递减的子串与较长
的串比较。*/
StringBuilder stb1=new StringBuilder("abcwerthelloyuiodef");
StringBuilder stb2=new StringBuilder("cvhelloyubnm");
StringBuilder stb3=new StringBuilder("");
//i为截取的第一个下标,j为截取的最后下标
for(int i=0;i<stb2.length();i++){
//java中是左闭右开的,所有截取的最后下标要加1
for(int j=i+1;j<stb2.length()+1;j++){
String stb4=stb2.substring(i, j);
System.out.println(stb4);
//使用indexOf获取子串在字符串中的下标,
//下标不等于-1,说明子串存在,等于-1,说明字符串中没有该子串
if(stb1.indexOf(stb4)!=-1){
//定义第三空字符串,当子串的长度大于空串,
if(stb4.length()>stb3.length()){
stb3.replace(0, stb3.length(), stb4);
}else{
System.out.println(stb3);
}
}
}
}
System.out.println("两个字符串中,最大的子串为:"+stb3);
}
注:使用String方法更简便,此内容是为了熟练StringBuilder的方法。