Duvidas exercicio recursividade?

4 respostas Resolvido
javarecursividade
A

Escrever um método recursiva que determine a quantas vezes um determinado caracter aparecer em uma String?

4 Respostas

L
Solucao aceita

Quando for pensar em recursividade, comece pensando no caso base. Qual é a situação mais simples que você pode se deparar? Uma String de tamanho 0, certo? Nesse caso, a contagem com certeza é 0. Assim, você pode fazer (pseudocodigo):

contarOcorrencias(char letra, String texto):
    if texto.tamanho == 0:
        return 0;
    else
        primeiraLetra = texto[0]
        int count = primeiraLetra == letra ? 1 : 0
        return count + contarOcorrencias(letra, texto.substringAPartirDoIndice(1))
D

Explicação:

Basicamente, é uma função ou método que chama a si mesmo até satisfazer uma condição, no seu caso você deve varrer esse texto até a sua última posição.

Olha como é simples:

public static int countLetter(char letter, String texto)
{
        if (texto.length() == 0) return 0;
        if (texto.charAt(0) == letter) 
            return 1 + countLetter(letter, texto.substring(1));
        return countLetter(letter, texto.substring(1));
}

Exemplo IDEONE

A

vlw mano mimk ajudou bastante

A

vlw kra mim ajudou bastante

Criado 24 de março de 2017
Ultima resposta 29 de mar. de 2017
Respostas 4
Participantes 3