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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 突然世界晴 中级黑马   /  2015-3-8 20:11  /  1075 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static String getMaxSubString(String s1,String s2)
{
  for(int x=0;x<s2.length();x++)
  {
   for(int a=0,b=s2.length()-x;b!=s2.length()+1;a++,b++)
   {
    String temp=s2.substring(a, b);
    if(s1.indexOf(temp)!=-1)
     return temp;
   }
  }
   return "";
}

public class StringMethodDemo
{
public static void main (String[] args)

  String s1="abchelloabc";
  String s2="aaahellob";
  sop(getMaxSubString(s1, s2));
}

第一个方法里面一个return就不对

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1 加油~

查看全部评分

7 个回复

倒序浏览
两个return语句,第一个是在循环时找到了最大的子串,则将找到的最大子串temp返回,调用函数结束,如果循环结束了,没有找到子串,那么返回null,调用函数结束
两个return语句是在不同的条件的结束调用函数
回复 使用道具 举报
因为两个return在方法中的功能是不一样的。第一个return是在满足条件的情况下直接结束方法返回需要的值,
第二个return是整个方法都执行完都没有出现满足条件的情况下返回需要的值
回复 使用道具 举报
函数好像没有放在类里面吧?这样也可以的吗?
回复 使用道具 举报
hastar 发表于 2015-3-8 21:11
因为两个return在方法中的功能是不一样的。第一个return是在满足条件的情况下直接结束方法返回需要的值,
...

原来是这样子啊,谢谢
回复 使用道具 举报
还没学到这呢
回复 使用道具 举报
找到就返回最大子川,找不到就返回   空白
回复 使用道具 举报
两个的作用范围不一样,第一个return是在程序进入if循环判断为真时执行,而第二个return是在结尾处,代表整个for循环结束后,如果还没有返回值,则执行结尾的return
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马