黑马程序员技术交流社区

标题: 字符串获取最大相同内容一点疑惑 [打印本页]

作者: 马林贺    时间: 2012-6-3 11:55
标题: 字符串获取最大相同内容一点疑惑
  1. public static String getMaxSubString(String s1, String s2) {

  2.             String max=(s1.length()>s2.length())? s1:s2;
  3.             String min=(max==s1)? s2:s1;
  4.             for(int x=0;x<min.length();x++)
  5.            {
  6.                  for(int j=0, i=min.length()-x<FONT color=red>;i!=min.length()+1</FONT>;j++,i++)
  7.           {
  8.                 String temp=min.substring(j,i);
  9.                if(max.indexOf(temp)!=-1)
  10.          {
  11.               return temp;
  12.          }
  13.         }

  14.         }

  15.        return "";
  16.        }
复制代码
疑惑:內循環的判斷的條件爲什麽是min.length()+1呢,有點不理解。
作者: 袁梦希    时间: 2012-6-3 12:03
楼主你好    这是我以前的回答过的帖子   希望对你能有帮助。
http://bbs.itheima.com/forum.php ... amp;page=1#pid89335
作者: 袁錦泰    时间: 2012-6-3 12:06
避免角標越界...
作者: 黑马11期李项京    时间: 2012-6-3 12:10
因为substring(j,i);方法去字符串的时候是“包头不包尾”,这里从j开始取,但是取不到 i,所以i!=min.length()+1中设置 i 最大取值多1
作者: 马林贺    时间: 2012-6-3 13:17
嗯 明白了,如果是  min.length()的话,每次取到的字符串,就会少一个吧。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2