黑马程序员技术交流社区

标题: 一个关于return的疑问??? [打印本页]

作者: 孙国军    时间: 2012-4-14 15:25
标题: 一个关于return的疑问???
  1. class Demo
  2. {
  3. public static void main(String[] args)
  4. {
  5. String str=" abcdefabc ";
  6. String st="baafab";
  7. String s="s";
  8. System.out.println(method_getMax(str,st));
  9. System.out.println(method_getMax(str,s));
  10. }
  11. //获取两个字符串中最大相同的字串;
  12. public static String method_getMax(String str,String s)
  13. {
  14. String max="",min="";

  15. //判断哪个字符串长一些;
  16. max=(str.length()>s.length())?str:s;
  17. min=(max==str)?s:str;

  18. //通过for循环比较.并取出最大的相同字串
  19. for (int i=0;i<=min.length() ;i++ )
  20. {
  21. for (int j=0,k=min.length()-i;k<min.length()+1 ;j++,k++ )
  22. {
  23. String temp=min.substring(j,k);
  24. if (max.contains(temp))
  25. {
  26. return temp;
  27. }
  28. }
  29. }
  30. //如果没有,则告诉用户没有相同的字符串;
  31. return "没有相同的子串";                                                                   //这边return返回的值问世么没有打印啊????
  32. }

  33. }
复制代码

作者: 孙国军    时间: 2012-4-14 15:26
  1. class  Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 String str="   abcdefabc    ";
  6.                 String st="baafab";
  7.                 String s="s";
  8.                 System.out.println(method_getMax(str,st));
  9.                 System.out.println(method_getMax(str,s));
  10.         }
  11.         //获取两个字符串中最大相同的字串;
  12.         public static String method_getMax(String str,String s)
  13.         {
  14.                 String max="",min="";

  15.                 //判断哪个字符串长一些;
  16.                 max=(str.length()>s.length())?str:s;
  17.                 min=(max==str)?s:str;

  18.                 //通过for循环比较.并取出最大的相同字串
  19.                 for (int i=0;i<=min.length() ;i++ )
  20.                 {
  21.                         for (int j=0,k=min.length()-i;k<min.length()+1 ;j++,k++ )
  22.                         {
  23.                                 String temp=min.substring(j,k);
  24.                                 if (max.contains(temp))
  25.                                 {
  26.                                         return temp;
  27.                                 }
  28.                         }
  29.                 }
  30.                 //如果没有,则告诉用户没有相同的字符串;
  31.                 return "没有相同的子串";            //这边return返回的值问世么没有打印啊????
  32.         }

  33. }
复制代码

作者: 孙国军    时间: 2012-4-14 15:26
//这边return返回的值问世么没有打印啊????


作者: 马强    时间: 2012-4-14 15:50
for (int i=0;i<=min.length() ;i++ )   //(这里的<=改成<)(要不然subString(0,0)返回的值是一个空,不走return)

22.                {

23.                        for (int j=0,k=min.length()-i;k<min.length()+1 ;j++,k++ )

24.                        {

25.                                String temp=min.substring(j,k);

26.                                if (max.contains(temp))

27.                                {

28.                                        return temp;

29.                                }

30.                        }

31.                }






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