package com.lovecoding.day17.ex01;

import org.junit.Test;

import java.util.Arrays;

public class Test03 {

    @Test
    public void test01(){
        //拆分
        //案例：已知一个字符串内容如下，要求拆分出每一个单词，并遍历显示
        String str = "1.hello2.world3.java4.string";

        String s = str.replaceAll("1.", "");
        String[] split = s.split("\\d.");
        System.out.println(Arrays.toString(split));

    }

    //获取两个字符串中最大相同子串。
    //比如：str1 = "abcwerthelloyuiodef“;  str2 = "cvhellobnm"，最大相同子串是"hello"。
    // 提示：将短的那个串进行长度依次递减的子串与较长的串比较。

    // abcwerthelloyuiodef  cvhellobnm
    // abcwerthelloyuiodef  cvhellobn
    // abcwerthelloyuiodef  c

    @Test
    public void test02(){
        String str1 = "abcwerthelloyuiodef";
        String str2 = "cvhellobnm";
        System.out.println(callson(str1, str2));
    }

    private String callson(String str1, String str2) {

        String maxStr =  str1.length()>str2.length()? str1 : str2;
        String minStr =  str1.length()<str2.length()? str1 : str2;

        String result = "";
        //外层控制 小的索引
        for (int i = 0; i < minStr.length(); i++) {
            //内
            for (int j = 0; j < minStr.length()-i  ; j++) {
                //System.out.println( str2.substring(i,str2.length()-j) );
                String str = minStr.substring(i, minStr.length() - j);
                //包含
                if (maxStr.contains(str)){
                    if (str.length() > result.length()){
                        result = str;
                    }
                }
            }
        }
        return result;
    }


}
