黑马程序员技术交流社区
标题:
为什么一个函数里面两个返回?
[打印本页]
作者:
突然世界晴
时间:
2015-3-8 20:11
标题:
为什么一个函数里面两个返回?
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就不对
作者:
yangruijing
时间:
2015-3-8 21:08
两个return语句,第一个是在循环时找到了最大的子串,则将找到的最大子串temp返回,调用函数结束,如果循环结束了,没有找到子串,那么返回null,调用函数结束
两个return语句是在不同的条件的结束调用函数
作者:
hastar
时间:
2015-3-8 21:11
因为两个return在方法中的功能是不一样的。第一个return是在满足条件的情况下直接结束方法返回需要的值,
第二个return是整个方法都执行完都没有出现满足条件的情况下返回需要的值
作者:
金康俊
时间:
2015-3-8 21:24
函数好像没有放在类里面吧?这样也可以的吗?
作者:
突然世界晴
时间:
2015-3-8 22:22
hastar 发表于 2015-3-8 21:11
因为两个return在方法中的功能是不一样的。第一个return是在满足条件的情况下直接结束方法返回需要的值,
...
原来是这样子啊,谢谢
作者:
勇闯☀☀黑马
时间:
2015-3-8 22:36
还没学到这呢
作者:
空洞的望着窗外
时间:
2015-3-8 22:43
找到就返回最大子川,找不到就返回 空白
作者:
赵涛涛
时间:
2015-3-8 22:51
两个的作用范围不一样,第一个return是在程序进入if循环判断为真时执行,而第二个return是在结尾处,代表整个for循环结束后,如果还没有返回值,则执行结尾的return
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2