题目:输入两个字符串,判断两者之间最大的公共子串,即重复最多的字符的长度;
1 首先,从用户输入得到两个字符串,并保证不管用户如何输入,代码都能固定一个长的和一个短的串;

Scanner sc = new Scanner(System.in);
String s1= sc.nextLine();
String s2 = sc.nextLine();
//定义两个变量,固定长串和短串
String lStr=s1.length()>s2.length()?s1:s2;
String sStr=s1.length()<s2.length()?s1:s2;

2 最终是要求重复最多的字符,那么可以想到遍历短串,一段一段截取,放到长串中去看是否包含,若包含的话,取最长的那个串

//遍历短串 从第一个字符 慢慢到最后的字符
for(int i=0;l<sStr.length();i++){
    for(int j =i+1;j<=sStr.length();j++){
        //一段段截取
        String sub = sStr.subString(i,j);
        //匹配
        if(lStr.contains(sub)){
            max=sub.length()>max?sub.length:max;
        }
    }
}
//最后输出最多重复的字符的长度
System.out.println(max);