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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 521123270 中级黑马   /  2015-4-17 15:15  /  535 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下面代码哪里出问题了?请大神指出下 谢谢!!


*
* 3,两个字符串中最大相同的子串。
* "qwerabcdyuiop"
* "xcabcdvbn"
*
* 思路:
* 1,既然取得是最大子串,先看短的那个字符串是否在长的那个字符串中。
* 如果存在,短的那个字符串就是最大子串。
* 2,如果不是呢?那么就将短的那个子串进行长度递减的方式去找子串,去长串中判断是否存在。
* 如果存在就已找到,就不用在找了。
*/
public class StringTest_3 {
/**
  * @param args
  */
public static void main(String[] args) {
  String s1 = "qwerabcdyuiop";
  String s2 = "xcabcdvbn";
  
  String s = getMaxSubstring(s1,s2);
  System.out.println("s="+s);
}
/**
  * 获取最大子串。
  * @param s1
  * @param s2
  * @return
  */
@SuppressWarnings("unused")
public static String getMaxSubstring(String s1, String s2) {

  for (int i = 0; i < s2.length(); i++) {   
   
   for(int a = 0,b = s2.length()-i; b != s2.length()+1; a++,b++){
    String sub = s2.substring(a,b);
   
//    System.out.println(sub);
    if(s1.contains(sub));
     return sub;
   }
      
  }
  return null;
}
}

7 个回复

倒序浏览

回帖奖励 +2

我还没有学到这
回复 使用道具 举报
这道练习我也做过,看了好久没看出问题啊。。。
回复 使用道具 举报
if(s1.contains(sub)); //这条语句后面多了一个分号!去掉分号就对了
             return sub;
回复 使用道具 举报
public static String getMaxSubstring(String s1,String s2)
   {
           for (int i = 0; i < s2.length(); i++)
                {   
                        for(int a = 0,b = s2.length()-i;b<s2.length()&&b-a==s2.length()-i; a++,b++)
                        {
                                String sub = s2.substring(a,b);
                                System.out.println(sub);
                                if(s1.contains(sub))
                                        return sub;
                        }
                }
                return null;
      
    }
回复 使用道具 举报

:P技术分那么多!
回复 使用道具 举报
jackwang 发表于 2015-4-17 16:07
if(s1.contains(sub)); //这条语句后面多了一个分号!去掉分号就对了
             return sub;
...

嗯嗯!老手就是老手!请问你学了多久了?{:3_46:}
回复 使用道具 举报
lily15 发表于 2015-4-17 16:28
public static String getMaxSubstring(String s1,String s2)
   {
           for (int i = 0; i < s2.length();  ...

嗯嗯!对
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马