Como contar Quantas vezes as duas letras aparecem juntas em uma string?

boa dia , alguém poderia me ajudar nessa questão?
to querendo que o usuário digite uma frase , apos ela digite duas letras separadamente e depois compara quantas as letras digitadas(juntas) aparece na frase .
ex:
frase:“bom dia”
letra1:“o”
letra2:“m”
resp= 1 vez;

no código que eu fiz , testo se a frase contem somente letras e espaços e depois peço pro usuário digitar 2 letras , a pois isso não sei o que fazer mais.

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    String seq;
    char a, b;

  
    System.out.println("digite uma sequencia de caracteres :");
    seq = in.nextLine();
    testaSequencia(seq);

    while (testaSequencia(seq) == false) {
        System.out.println();
        System.out.println("sequencia de caracteres inválido!");
        System.out.println("Digite uma sequecia com apenas letras e espaços :");
        seq = in.nextLine();
    }
    System.out.println("digite uma letra");
    a = in.next().charAt(0);
    System.out.println("digite outra letra");
    b = in.next().charAt(0);

}

public static boolean testaSequencia(String s) {
    int i, tam = s.length();
    boolean valido = true;
    char sequencia;
    for (i = 0; i < tam; i++) {
        sequencia = s.charAt(i);
        if (Character.isLetter(sequencia) == false && Character.isSpaceChar(sequencia) == false) {
            valido = false;
            break;
        }
    }
    return valido;
}

}

Você pode usar regex e matcher, segue um exemplo:

import java.util.regex.Pattern;
import java.util.regex.Matcher;

class Main {
  
  public static void main(String[] args) {
    
    String texto = "Bom dia!";
    int total = contarSequencias("o","m", texto);
    
    System.out.println(total + " veze(s)");
    
  }
  
  private static int contarSequencias(String a, String b, String texto){
     
    int total = 0;
    String regex = a+b;
    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(texto);
     
    while(m.find()){
      total++;
    }
    return total;
  }
}

Link com mais exemplos: https://www.tutorialspoint.com/java/java_regular_expressions.htm

1 curtida

@Jelson1 muito obrigado , me ajudou muito