使用递归进行查找

import java.util.*;
public class Main{
    public static void main(String [] args){
        getMaxLength();
    }

    public static void getMaxLength(){
        Scanner scan = new Scanner(System.in);
        String str1 = scan.nextLine();
        String str2 = scan.nextLine();
        int ret = 0;
        if(str1.length()>str2.length()){
            ret = findMax(str2,str1,str2.length(),0);
        }else{
            ret = findMax(str1,str2,str1.length(),0);
        }
        System.out.print(ret);
    }

    public static int findMax(String str1,String str2,int len,int r){
        if(r == len){
            return 0;
        }
        for(int i = 0; i <= r; i++){
            String temp = str1.substring(i, len-r+i);
            if(str2.contains(temp)){
                return temp.length();
            }
        }
        r++;
        return findMax(str1,str2,len,r);
    }
}