A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹睿翔 金牌黑马   /  2012-11-29 19:07  /  1416 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 曹睿翔 于 2012-11-29 21:43 编辑
  1. class StringTest4
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 sop(getMaxSubString("fdsaabcdefgsafvg","asabcdefghh"));
  6.         }
  7.         //获取两个字符串最大相同子串
  8.         public static String getMaxSubString(String s1,String s2)
  9.         {
  10.                
  11.                 String max= "",min = "";
  12.                 max = (s1.length()>s2.length())?s1:s2;
  13.                 min = (max==s1)?s2:s1;
  14.                         for (int x=0;x<min.length() ;x++ )
  15.                     {
  16.                                 for (int y=0, z = min.length()-x ;z!=min.length()+1;z++,y++ )
  17.                                 {
  18.                                         String temp = min.substring(y,z);
  19.                                         if (max.contains(temp))
  20.                                         return temp;
  21.                                 }
  22.                         }
  23.         
  24.                 return "";
  25.         }
  26.         public static void sop(Object obj){
  27.         
  28.                 System.out.println(obj);
  29.         }
  30. }
复制代码
其中在双重for循环中返回一个 temp;
又在成员代码块return一个 " ",
getMaxSubString是怎么接收到temp的?
不明白,求解

4 个回复

正序浏览
马磊 发表于 2012-11-29 21:21
if (max.contains(temp))
           return temp;

谢谢,有些问题想明白后自己也觉得可笑

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1 关键在于能想明白了

查看全部评分

回复 使用道具 举报
     if (max.contains(temp))
           return temp;

这个if判断决定了 getMaxSubString 方法是否返回temp

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
马磊 发表于 2012-11-29 20:01
那个return ""是getMaxSubString 方法里的最后一行代码,不是在什么成员代码块内。
getMaxSubString方法就 ...

我就是问,两个return,getMaxSubString怎么就知道接收temp,这个过程怎么实现的?那个成员代码块就是我瞎想的,嘿嘿
回复 使用道具 举报
那个return ""是getMaxSubString 方法里的最后一行代码,不是在什么成员代码块内。
getMaxSubString方法就是尽可能早的判断两个字符串中的相同子串,即最大相同子串。
如果有相同子串就返回那个temp;如果一直到最后都没有相同的,就返回空串,即""
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马