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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
4,获取两个字符串中最大相同子串。第一个动作:将短的那个串进行长度一次递减的子串打印。
        "abcwerthelloyuiodef"
        "cvhellobnm"
        思路:
                1,将短的那个子串按照长度递减的方式获取到。
                2,将每获取到的子串去长串中判断是否包含,
                        如果包含,已经找到!。
*/
class StringTest4
{
        public static void main(String[] args)
        {
                String str1 = "abcdefg";
                String str2 = "whh";
                String str = findString(str1,str2);
                System.out.println("str1="+"\""+str1+"\"\n"+"str2="+"\""+str2+"\"");
                System.out.println("最大相同子串是:" + str);
        }
        public static String findString(String long_s, String short_s)
        {
                String s = "";
                if ((long_s.length()) < (short_s.length()))
                {
                        s = short_s;
                        short_s = long_s;
                        long_s = s;
                }

                for (int x = 0 ; x < short_s.length(); x++)
                {
                        for (int begin = 0, end = short_s.length() - x; end <= short_s.length(); begin++, end++)
                        {
                                String stringtemp = short_s.substring(begin,end);
                                System.out.println(stringtemp);
                                if (long_s.contains(stringtemp))
                                {
                                        return stringtemp;
                                }                                               
                        }                       
                }
                return "没有相同子串";
        }
}

1 个回复

正序浏览
旁观 学习中。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马