Ajuda em exercício de Java

Estou com uma dificuldade em uma atividade de Java na qual eu preciso utilizar uma sub-rotina que recebe por parâmetro uma frase e uma palavra. A sub-rotina tem que apresentar quantas vezes uma palavra aparece em uma frase, já no programa principal eu tenho que fazer com que o usuário digite a frase e a palavra e depois disso eu preciso chamar a sub-rotina, fazendo com que ela mostre o resultado.

Ex:
Palavra: vida.

Frase: A vida é para ser vivida.

Retorno da sub-rotina: 2

Até agora eu fiz esse código, já venho logo dizer que eu sou bem novo nessa área de programação, ainda mais em Java, se vocês me derem algumas dicas no que melhorar eu já agradeço imensamente.

public class SubRotinaManipulaçãoCaracteres {
    static String quantidade(String encontra, String frase){
        int Numero =  (frase.split(" " +encontra+ " ")).length -1;
        System.out.print("A palavra \"" + encontra.toUpperCase() + "\" apareceu " + Numero + " vez/vezes na frase: " + frase.toUpperCase());
        return null;
    }
    public static void main(String[] args) {
        Scanner tl = new Scanner(System.in);
        String word, texto;
        System.out.println("Digite uma palavra e uma frase: ");
        word = tl.nextLine();
        texto = tl.nextLine();
        System.out.println(quantidade(word,texto));
    }
    
}
// o método quantidade retorna a quantidade de vezes que a palavra aparece na frase.
public static int quantidade( String palavra, String frase ) {

    // contador da quantidade de ocorrências
    int q = 0;
    
    // cria uma nova palavra em caixa baixa
    palavra = palavra.toLowerCase();

    // recorta a frase em todas as ocorrências de um ou mais símbolos de espaço
    for ( String trecho : frase.split( "\\s+" ) ) {
        // se a palavra é uma substring do trecho recortado
        if ( trecho.toLowerCase().contains( palavra ) ) {
            // incrementa o contador
            q++;
        }

    }

    return q;

}
1 curtida

Obrigado me ajudou muito, fui ver e eu estava fazendo uma coisa sem pé e nem cabeça no meu programa :rofl:

1 curtida