Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Um método recursivo que recebe uma String e retorna a quantidade de letras maiúsculas encontradas - Exercícios Resolvidos de JavaQuantidade de visualizações: 6086 vezes |
|
Pergunta/Tarefa: Escreva um método recursivo que recebe uma palavra ou frase e retorna a quantidade de caracteres (letras) maiúsculos. Seu método deverá possuir a seguinte assinatura:
public static int contarMaiusculas(String frase){
// sua implementação aqui
}
Sua saída deverá ser parecida com: Digite uma palavra ou frase: Arquivo de Códigos A palavra ou frase contém 2 letras maiúsculas Veja a resolução comentada deste exercício usando Java console: Observação importante: Este código criará uma cadeia de chamadas recursivas. Cada chamada ao método contarMaiusculas() receberá uma cópia menor da palavra ou frase fornecida. Quando a última chamada recursiva do método receber uma string vazia, a cadeia começa a retornar. Note que os valores acumulados nas várias chamadas ao método vão sendo acumulados na variável quantidade. ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package exercicio;
import java.util.Scanner;
public class Exercicio {
public static void main(String[] args) {
// cria um novo objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// solicita uma palavra ou frase ao usuário
System.out.print("Digite uma palavra ou frase: ");
// lê a palavra ou frase
String frase = entrada.nextLine();
int quantMaiusculas = contarMaiusculas(frase);
System.out.println("A palavra ou frase contém " + quantMaiusculas +
" letras maiúsculas");
}
// método recursivo que recebe uma palavra ou frase e retorna
// a quantidade de letras maiúsculas
public static int contarMaiusculas(String frase){
/* Este código criará uma cadeia de chamadas recursivas. Cada
* chamada ao método contarMaiusculas() receberá uma cópia menor
* da palavra ou frase fornecida. Quando a última chamada recursiva do
* método receber uma string vazia, a cadeia começa a retornar. Note
* que os valores acumulados nas várias chamadas ao método vão sendo
* acumulados na variável quantidade
*/
int quantidade = 0;
// o tamanho da string é maior que 0?
if(frase.length() > 0){
if(Character.isUpperCase(frase.charAt(0))){
quantidade = 1 + contarMaiusculas(frase.substring(1));
}
else{
quantidade = contarMaiusculas(frase.substring(1));
}
}
return quantidade;
}
}
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
JavaScript - Como retornar o dia da semana em JavaScript no formato Domingo, Segunda-feira, Terça-feira, etc |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






