Алгоритм:
шаг 1: преобразование главной строки в массив символов
шаг 2: преобразовать подстроку в массив символов
шаг 3: сравнить два массива символ за символом
шаг 4: Если хотя бы один из символов в массиве подстрок не совпадает с массивом символов основной строки, начинается с первого символа подстроки, но продолжает двигаться в основной строке
шаг 5: если все символы подстроки совпадают, увеличивайте счетчик и начинайте с первой позиции подстроки, вот и все.
import java.io.*;
import java.util.Scanner;
public class SubStringCount {
public static void main(String[] args) throws IOException {
Scanner input=new Scanner(System.in);
System.out.println("Enter you Main string:");
String mainstring=input.nextLine();
System.out.println("Enter the substring");
String substring=input.nextLine();
int i=0;int j=0;
char[] str=mainstring.toCharArray(); // converting main string to character array
char[] sub=substring.toCharArray(); // converting substring to character array
int count=0;
while(i<str.length)
{
if(str[i]==sub[j])
{
j++;
}
else
{
j=0;
}
if(j==sub.length)
{
j=0;
count++;
}
i++;
}