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 JavaQuantidade de visualizações: 1739 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 } 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. Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- 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); // 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: |
Java ::: Coleções (Collections) ::: Stack |
Java Collections - Como remover o elemento no topo de uma Stack usando seu método pop()Quantidade de visualizações: 9377 vezes |
Uma estrutura do tipo pilha (representada aqui por um objeto da classe Stack) permite que seus elementos sejam removidos sempre na ordem contrária em que foram inseridos, ou seja, o último elemento inserido é sempre o primeiro a sair. Veja no trecho de código abaixo como usar o método pop() para remover e retornar o elemento no topo da pilha:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.util.*; public class Estudos{ public static void main(String args[]){ // Cria uma Stack de String Stack<String> pilha = new Stack<String>(); // adiciona três elementos na pilha pilha.push("Cuiabá"); pilha.push("Goiânia"); pilha.push("Belo Horizonte"); // remove os elementos, sempre removendo o // elemento do topo primeiro while(!pilha.empty()){ String elem = pilha.pop(); System.out.println("Elemento removido: " + elem); } } } Ao executar este código nós teremos o seguinte resultado: Elemento removido foi: Belo Horizonte Elemento removido foi: Cuiabá Elemento removido foi: Goiânia |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como escrever em um arquivo usando Java - Como escrever em um arquivo usando as classes BufferedWriter e FileWriter do JavaQuantidade de visualizações: 23123 vezes |
Nesta dica mostrarei como podemos usar a linguagem Java para escrever em um arquivo texto. Para isso nós vamos usar as classes BufferedWriter e FileWriter. Veja o trecho de código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class Estudos{ public static void main(String args[]){ try { BufferedWriter out = new BufferedWriter(new FileWriter("C:\\estudos_java\\conteudo.txt")); out.write("Esta é a primeira linha de texto\r\n"); out.write("Esta é a segunda linha de texto"); out.close(); } catch(IOException e){ System.out.println("Houve um erro: " + e.getMessage()); } System.out.println("Acabei de escrever no arquivo"); } } Ao executar este código Java nós teremos o seguinte resultado: Acabei de escrever no arquivo. Tenha cuidado. Se o arquivo já existir, o método write() da classe BufferedWriter vai sobrescrever o seu conteúdo. Por isso, é sempre uma boa idéia fazer uma verificação antes. |
Java ::: Dicas & Truques ::: Sistema |
Java Avançado - Como obter a largura e altura da tela do seu computador em pixels usando o método getScreenSize() da classe Toolkit do JavaQuantidade de visualizações: 15212 vezes |
A classe Toolkit da linguagem Java nos fornece o método getScreenSize(), que retorna um objeto da classe Dimension contendo a largura e a altura da tela do nosso computador, em pixels. Veja o código Java completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.awt.*; public class Estudos{ public static void main(String[] args){ // obtém o tamanho da tela Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); System.out.println("O tamanho da tela é: " + dim.width + " pixels de largura por " + dim.height + " pixels de altura."); } } Ao executar este código nós teremos o seguinte resultado: O tamanho da tela é: 1366 pixels de largura por 768 pixels de altura. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
JavaScript - JavaScript para iniciantes - Como obter o valor do maior número possível em JavaScript usando Number.MAX_VALUE Revit C# - Como criar eixos no Revit via programação usando a função Create() da classe Grid da Revit C# API Java - Como usar null em Java |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |