Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Como calcular os N primeiros números da série Fibonacci usando recursividade em Java - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 663 vezes |
Pergunta/Tarefa: Escreva um programa Java para imprimir os N primeiros termos da sequência de Fibonacci usando uma função recursiva. Sua saída deverá ser parecida com: Os 10 primeiros números Fibonacci são: 0 1 1 2 3 5 8 13 21 34 Veja a resolução comentada deste exercício em Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class Estudos{ public static void main(String[] args) { // vamos imprimir 10 números da sequência de Fibonacci int quant = 10; System.out.println("Os 10 primeiros números Fibonacci são:"); // um laço que começa em 0 e vai até a quantidade - 1 for(int i = 0; i < quant; i++){ // vamos mostrar o número de Fibonacci no índice i System.out.print(numeroFibonacci(i)+ " "); } } // método recursivo que calcula e retorna o número de // Fibonacci no índice recebido public static int numeroFibonacci(int n){ // caso base: retorna 0 if(n == 0){ return 0; } else if(n == 1){ return 1; } else{ return numeroFibonacci(n - 2) + numeroFibonacci(n - 1); } } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Coleções (Collections) ::: HashMap |
Java HashMap - Como fornecer uma chave e obter seu valor correspondente em um HashMapQuantidade de visualizações: 8991 vezes |
O uso de um HashMap só se justifica quando podemos guardar os mapeamentos e recuperá-los de forma rápida e fácil. Para isso, a classe HashMap nos fornece o método get(). Este método recebe a chave a ser pesquisada e retorna o valor associado a ela. Veja sua assinatura:public V get(Object key) Veja um exemplo no qual usamos o método get() para retornar o valor associado à chave informada: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(String[] args){ // vamos criar uma instância de HashMap HashMap<Integer, String> clientes = new HashMap<Integer, String>(); // vamos adicionar três chaves e seus valores clientes.put(new Integer(1), "Osmar J. Silva"); clientes.put(new Integer(2), "Salvador Miranda de Andrade"); clientes.put(new Integer(3), "Marcos da Costa Santos"); // vamos obter o valor correspondente à chave 2 String c = clientes.get(2); // vamos exibir o resultado if(c != null){ System.out.println("O valor para esta chave é: " + c); } else{ System.out.println("O HashMap não contém a chave informada."); } System.exit(0); } } Ao executarmos este código Java nós teremos o seguinte resultado: O valor para esta chave é: Salvador Miranda de Andrade |
Java ::: Coleções (Collections) ::: LinkedHashSet |
Como remover itens repetidos de uma ArrayList usando um objeto da classe LinkedHashSet do JavaQuantidade de visualizações: 553 vezes |
Em algumas situações nós temos uma ArrayList com algumas repetições e gostaríamos de remover os itens duplicados mas gostaríamos de manter a ordem original dos elementos. Para isso nós podemos usar um objeto da classe LinkedHashSet. Como sabemos, classes que implementam a interface Set possuem a habilidade de recusar itens repetidos. A classe LinkedHashSet, além de recusar duplicidades de valores, mantém a ordem de inserção dos elementos. 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 estudos; import java.util.ArrayList; import java.util.LinkedHashSet; public class Estudos { public static void main(String[] args) { // vamos criar uma ArrayList de linguagens de programação ArrayList<String> lista = new ArrayList<>(); // vamos adicionar alguns elementos no ArrayList. Note // que temos itens repetidos lista.add("Java"); lista.add("Scala"); lista.add("Ruby"); lista.add("Scala"); lista.add("Python"); lista.add("Ruby"); lista.add("Delphi"); // vamos mostrar o conteúdo do ArrayList System.out.println("O conteúdo do ArrayList é: " + lista.toString()); // vamos criar uma instância da classe LinkedHashSet LinkedHashSet<String> set = new LinkedHashSet<>(lista); // agora construímos uma nova ArrayList sem repetições a // partir do LinkedHashSet ArrayList<String> lista2 = new ArrayList<>(set); // e mostramos o resultado System.out.println("ArrayList sem repetições: " + lista2.toString()); } } Ao executar este código Java nós teremos o seguinte resultado: O conteúdo do ArrayList é: [Java, Scala, Ruby, Scala, Python, Ruby, Delphi] ArrayList sem repetições: [Java, Scala, Ruby, Python, Delphi] Note como a ordem dos elementos no ArrayList original foi respeitada. |
Java ::: Dicas & Truques ::: Formatação de datas, strings e números |
Java para iniciantes - Como formatar moeda usando a classe NumberFormat da linguagem JavaQuantidade de visualizações: 19446 vezes |
Este exemplo mostra como formatar moeda usando o método getCurrencyInstance() da classe NumberFormat. Note que, nesse exemplo, nós formatamos um valor double para a moeda brasileira em 2021, a saber, o real. Veja o código completo para a dica: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.text.*; public class Estudos{ public static void main(String[] args){ double valor = 1234567.89; System.out.println("Sem formatação: " + valor); NumberFormat nf = NumberFormat.getCurrencyInstance(); String valorFormatado = nf.format(valor); System.out.println("Formatado: " + valorFormatado); } } Ao executar este código Java nós teremos o seguinte resultado: Sem formatação: 1234567.89 Formatado: R$ 1.234.567,89 |
Vamos testar seus conhecimentos em Python |
Qual das formas abaixo é usada para criar uma LIST em Python? A) valores = {5, 1, 9, 4} B) valores = [5, 1, 9, 4] C) valores = (5, 1, 9, 4) D) valores = [5.. 1.. 9.. 4] E) valores = list[5, 1, 9, 4] Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Viscosidade dinâmica A viscosidade cinemática de um óleo lubrificante é de 0,028m2/s, e seu peso específico relativo é de 0,85. Qual a sua viscosidade dinâmica, em Pa.s? Sabe-se que a aceleração gravitacional local é de 10m/s2. A) 233Pa.s. B) 85Pa.s. C) 85000Pa.s. D) 23,8Pa.s. E) 2,38Pa.s. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética profissional, social, política Como se lê nas obras de Platão e Aristóteles, existe uma diferença constantemente remarcada em relação a certas dimensões estritamente teóricas e práticas. Ao passo que Platão preza pela dimensão mais reminiscente em relação às virtudes éticas, Aristóteles vê essa dimensão humana de outro modo. "Estas ciências práticas, de fato, dizem respeito à conduta dos homens, bem como ao fim que através dessa conduta eles querem alcançar, seja enquanto indivíduos, seja enquanto fazendo parte de uma sociedade, sobretudo da sociedade política" (REALE, 1994, p. 405). A respeito do trecho citado, assinale a alternativa correta: A) O indivíduo ético busca alcançar as suas virtudes independentemente das ações alheias. B) A ética é um exercício tanto individual quanto coletivo. C) A ética deve ser exercida apenas enquanto exercício político. D) Na vida em sociedade, a ética atinge apenas a dimensão do todo. E) A ética existe enquanto código e ultrapassa as microrrelações sociais. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual é a forma correta de adicionar comentários de uma linha em JavaScript? A) <!-- Este é um comentário --> B) // Este é um comentário C) ' Este é um comentário D) # Este é um comentário Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Sondagem à Percussão (SPT) e Rotativa (RQD) Identifique a qualidade do maciço através do RQD de uma porção da rocha cuja manobra na sondagem rotativa foi de 1,5m e recuperou-se os seguintes fragmentos: 12cm + 16cm + 7cm + 35cm + 6cm + 14cm + 8cm + 2cm + 50cm. A) Trata-se de um maciço muito fraco. RQD menor que 25%. B) Trata-se de um maciço fraco, com RQD entre 25 e 50%. C) Trata-se de um maciço regular, com RQD entre 50 e 75%. D) Trata-se de um maciço bom, com RQD entre 75 e 90%. E) Trata-se de um maciço excelente, RQD=100%. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
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 |