BF算法(Java实现)
import java.util.Scanner;
public class BF {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("请依次输入主串和要查找的字符串");
//主串
String S=sc.next();
//子串
String T=sc.next();
//转换为字符数组操作
char[] s = S.toCharArray();
char[] t = T.toCharArray();
//i,j为比较的起始地址
int i=0,index=0,j=0;
//当主串或子串模式匹配结束后,BF暴力查找结束,
while(i<s.length&&j<t.length){
if(s[i]==t[j]){
i++;
j++;
}else{
index++;
i=index;
j=0;
}
}
//若主串先遍历结束,则未找到,反之成功模式匹配
//注: 特殊情况:主串和子串同时结束!
if(i>=s.length){
System.out.println("未找到该字符串!");
} else {
System.out.println("该串的索引位置为:"+index);
}
}
}