从键盘输入两个字符串,获取两个字符串中匹配度最高的部分(即:两个字符串中最长的相同字符串)
如:
输入:
13,10,'match','$'
13,10,'No match','$'
输出:
13,10,'
代码:
package 匹配最大字符串;
import java.util.Scanner;
public class FindTheLargestString {
public static String findthelargeststring (String string1,String string2)
{
int i,j,k;
String string="";
int max=0;
for(i=0;i<string1.length();i++)
{
int index=i;
for(j=0;j<string2.length();j++)
{
String temp="";
int tempLength=0;
for(k=j;k<string2.length()&&index<string1.length();k++)
{
if(string1.charAt(index)==string2.charAt(k))
{
temp+=string1.charAt(index);//将相同的元素添加到临时的字符串temp中
tempLength++;
index++;
}
else
{
break;
}
}
if(max<tempLength)//用于获取匹配度最高的字符串
{
max=tempLength;
string=temp;
}
}
}
return string;
}
public static void main(String []args)
{
String a,b;
Scanner s1 = new Scanner (System.in);
Scanner s2 = new Scanner (System.in);
System.out.print("Please Input the string1:");
a=s1.next();
System.out.print("Please Input the string2:");
b=s2.next();
System.out.println(findthelargeststring(a,b));
}
}