美文网首页
day13-09-String(字符串练习4)获取两个字符串中最

day13-09-String(字符串练习4)获取两个字符串中最

作者: 姗婷 | 来源:发表于2020-06-10 10:01 被阅读0次

4.获取两个字符串中最大相同子串
第一个动作,将短的那个串进行长度依次递减的子串打印。*
"abcwerthelloyuiodef"
"cvhellobnm"
思路:将短的那个子串按长度递减的方式获取到。
2.将每获取到的子串去长串中判断是否包含到

大圈套小圈 ,for嵌套循环

class StringTest3
{
    public static void main(String args[])
    {
        String str1 = "abcwerthelloyuiodef";
        String str2 = "cvhellobnm";
        sop("count="+getMaxSubString(str1,str2));
    }
    
    public stataic String getMaxSubString(String s1,String s2)
    {
        String max = "",min = "";
        max = (s1.length()>s2.length())?s1:s2;//查找长的字符串
        min = (max ==s1)?s2:s1;//查找短的字符串
        /*
        大圈套小圈,外循环控制行,内层循环控制着执行的列
        String str1 = "abcwerthelloyuiodef";
        String str2 = "cvhellobnm"
        拿str2判断是否包含在str1
        str2长度0~length()-0      1个字符串判断是否包含在str1  *
            长度0-length()-1      2个字符串判断是否包含在str1  **
            长度0~length()-2      3个字符串判断是否包含在str1  ***
            长度0-length()-3      4个字符串判断是否包含在str1  ****
        */
        for(int x=0;x<min.length();x++)
        {
/*第一个循环是定义一共有多少轮,但不一定执行完全部的轮数才能找到,如果找到下面的return 会返回找到的子串*/
            for(int y = 0,z=min.length()-x;z!=min.length()+1;y++,z++)
            {
/*第二个循环中的y 是获取str2中的子串都是从0开始的,而z 是用来计算在str2中获取子串的长度,第一轮是7,就是str2的长度减去0(我们可以想象成 str的长度 - 轮数1 - 1 = 7(就是从0到7获取str2的子串),如果是第二轮就是str的长度 - 轮数2 - 1 = 6)(就是从0到6获取str2的子串),而判断条件n < min.length() + 1 是用来获取有多少个子串,比如上面的6,获取了(0到6之后,还有一个是1到7的子串,在执行完一次循坏之后j和n会自加1,在第二次循环的时候j和n就会变成1和7,就能获取长度为6的第二个子串.长度为5,4也是依次计算)*/
                String temp = min.substring(y,z);
                //sop(temp);
                if(max.contains(temp))
                {
                    return temp;
                }
            }
        }
        return "";
    }
    public static void sop(String str)
    {
        System.out.println(str);
    }
}

相关文章

  • day13-09-String(字符串练习4)获取两个字符串中最

    4.获取两个字符串中最大相同子串第一个动作,将短的那个串进行长度依次递减的子串打印。*"abcwerthelloy...

  • 字符串string的使用

    1、定义可变字符串: 2、定义不可变字符串: 3、获取字符串的长度: 4、遍历字符串: 5、字符串拼接 两个字符串...

  • 深入浅出JavaScript8章节第02章分支语句

    if 语句: 语法一: demo练习:demo练习01补充获取字符串长度:补充获取字符串长度 补充获取星期 循环语...

  • java API(三)

    字符串的切割:String[] str.split()切割字符串 返回字符串数组。 练习: 题目一:获取指定字符串...

  • Java -字符串

    1、 2、字符串常量池 3、字符串的比较 4、字符串的获取 5、字符串的截取 6、字符串的转换 7、字符串的分割 ...

  • oc方面的字符串和数值方面的总结

    1、字符转为字符串 2.根据文档内容创建oc字符串对象 3.获取指定下标的字符 4.比较两个字符串是否相同 5.比...

  • swift 5.0 字符串相关函数

    1、字符串转int 2、字符串转Double(Float也是一样) 3、字符串转数组 4、获取字符串长度 5、根据...

  • Swif学习04(字符串、数组、字典、元组)

    一、字符串 1.定义字符串 2.获取字符串的长度 3.字符串的拼接 4.字符串的截取Swift中Swift中提供了...

  • iOS 运行时常用方法

    1,类转字符串 2,字符串转类 3,根据对象获取类 4,选择子(SEL)转字符串 5,字符串转选择子(SEL) 6...

  • 常用js方法

    1、获取url参数 2、js截取两个字符串之间的内容 3、js截取某个字符串前面的内容 4、js截取某个字符串后面的内容

网友评论

      本文标题:day13-09-String(字符串练习4)获取两个字符串中最

      本文链接:https://www.haomeiwen.com/subject/vihktktx.html