import java.util.Scanner;
//简单模式匹配
public class PatternMatch {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入第一个字符串!");
String mainString=scanner.next();
System.out.println("输入第二个字符串!");
String subString=scanner.next();
scanner.close();
String temp=null;
if(mainString.length()<subString.length())
{
temp=mainString;
mainString=subString;
subString=temp;
}
int result=patterMatch(mainString, subString);
switch (result) {
case -1:System.out.println("不匹配!");
break;
default:
System.out.println("模式匹配!位置:"+result);
}
}
/**
*
* @param mainString
* @param subString
* @return -1代表不匹配,其他代表子串在主串中的位置
*/
public static int patterMatch(String mainString,String subString)
{
int flag=-1;//记下模式串在主串中的位置(首个匹配字符的下标)
char []mainChar=mainString.toCharArray();
char []subChar=subString.toCharArray();
for(int k=0;k<mainChar.length;k++)
{
int i=k;
int j=0;
while(i<mainChar.length && j<subChar.length && mainChar[i]==subChar[j])
{
i++;
j++;
}
if(j==subChar.length)
{
flag=i-subChar.length;
break;
}
}
return flag;
}
}
简单模式匹配
最新推荐文章于 2021-09-01 17:08:13 发布