Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteiros - Desafio de Programação Resolvido em Java

Quantidade de visualizações: 1830 vezes
Pergunta/Tarefa:

Escreva um método recursivo que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Seu método deverá ter a seguinte assinatura:

public static int quantRepeticoes(int indice, int valor, int[] vetor){
  // sua implementação aqui
}
Sua aplicação deverá solicitar ao usuário os valores do vetor e o valor a ser pesquisado. Sua saída deverá ser parecida com:

Informe o 1 valor: 2
Informe o 2 valor: 7
Informe o 3 valor: 4
Informe o 4 valor: 7
Informe o 5 valor: 1

Informe o valor a ser pesquisado no vetor: 7
O valor informado se repete 2 vezes.
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

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);
    
    // vamos declarar um vetor de 10 inteiros
    int valores[] = new int[5];
    
    // vamos pedir ao usuário que informe os valores do vetor
    for(int i = 0; i < valores.length; i++){
      System.out.print("Informe o " + (i + 1) + " valor: ");
      // efetua a leitura do valor informado para a posição atual do vetor
      valores[i] = Integer.parseInt(entrada.nextLine());
    }
    
    // agora vamos pedir para informar o valor a ser pesquisado
    System.out.print("\nInforme o valor a ser pesquisado no vetor: ");
    int valor = Integer.parseInt(entrada.nextLine());
    
    // e vamos ver a quantidade de repetições
    int repeticoes = quantRepeticoes(0, valor, valores);
    System.out.print("O valor informado se repete " + repeticoes + " vezes.");
    
    System.out.println("\n");
  }
  
  // método recursivo que recebe um valor
  public static int quantRepeticoes(int indice, int valor, int[] vetor){
    if(indice == vetor.length - 1){ // caso base...hora de parar a recursividade
      if(vetor[indice] == valor){
        return 1; // mais um repetição foi encontrada
      }
    }
    else{ // dispara mais uma chamada recursiva
      if(vetor[indice] == valor){ // houve mais uma repetição
        return 1 + quantRepeticoes(indice + 1, valor, vetor);
      }
      else{
        return 0 + quantRepeticoes(indice + 1, valor, vetor); // não repetiu
      }
    }
    
    return 0; // só para deixar o compilador satisfeito...esta linha nunca é executada
  }
}


Link para compartilhar na Internet ou com seus amigos:

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

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 28 usuários muito felizes estudando em nosso site.