给定任意两组字符串s1和s2,请编程输出他们间的最大相同子串

给定任意两组字符串s1和s2,请编程输出他们间的最大相同子串
``
/*

  • 3.给定任意两组字符串s1和s2,请编程输出他们间的最大相同子串。
  • */
    package nanchang.fushi;

import java.util.Scanner;

public class MaxZi_String03 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner sc = new Scanner(System.in);

	Scanner sc2 = new Scanner(System.in);
	System.out.println("请输入s1::");
	String s1 = sc.nextLine();

	System.out.println("请输入s2:");
	String s2 = sc2.nextLine();

	String result = function(s1, s2);
	System.out.println("他们间的最大相同子串:" + result);

}

public static String function(String s1, String s2) {
	// String s=null;//字符串对象为空

	String str = "";// 字符串内容为空
	String sub1 = "";

	// "s".subString(0,0);错误的不能一样,至少要是"s".subString(0,1);

   //  public boolean contains(CharSequence s)
   CharSequence这是一个接口,里面既可以传递接口对象,也可以传递它的实现类对象(后者就是多态了,即:接口   变量=new  实现类()    ) 
	for (int j = 0; j < s2.length(); ++j) {
		for (int i = j + 1; i <= s2.length(); ++i) {
			sub1 = s2.substring(j, i);
			if (str.length() < sub1.length()) {
				if (s1.contains(sub1)) {
					str = sub1;
				}
			}

		}

	}

	return str;

}

}


你可能感兴趣的:(给定任意两组字符串s1和s2,请编程输出他们间的最大相同子串)