这个用两重循环一下就行了。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int T=sc.nextInt(); while(T-->0) { String a=sc.next(); String b=sc.next(); int len_a=a.length(); int len_b=b.length(); char[] sa=a.toCharArray(); char[] sb=b.toCharArray(); int s=0; for(int i=0;i<=len_b-len_a;i++) { int sum=0; for(int j=0;j<len_a;j++) { if(sa[j]==sb[i+j]) { sum++; }else break; } if(sum==len_a) s++; } System.out.println(s); } } }
其实java里有其自己的方法:substring();
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int T=sc.nextInt(); while(T-->0) { String a=sc.next(); String b=sc.next(); int len_a=a.length(); int len_b=b.length(); int s=0; for(int i=0;i<=len_b-len_a;i++) { if(b.substring(i, i+len_a).equals(a)) s++; } System.out.println(s); } } }