Você está aqui: Java ::: Dicas & Truques ::: Recursão (Recursividade) |
Como somar os elementos de um vetor em Java usando uma função recursiva - Linguagem Java para iniciantesQuantidade de visualizações: 249 vezes |
Em algumas ocasiões ficamos imaginando o que pode ser feito com os métodos e funções recursivas. A resposta é: praticamente tudo. Veja abaixo um programa Java completo no qual eu mostro como escrever uma função recursiva que recebe um array e mostra a soma de seus elementos (lembre-se de que um array é o mesmo que vetor, ou seja, uma matriz de uma linha e várias colunas): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos declarar um array de 10 elementos int valores[] = new int[10]; int soma; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir ao usuário para informar os valores para o vetor for(int i = 0; i < 10; i++){ System.out.print("Informe o valor do elemento " + i + ": "); valores[i] = Integer.parseInt(entrada.nextLine()); } // vamos efetuar uma chamada à função recursiva somar(); // nota que estamos passando o índice inicial, o tamanho do // array e o array em si soma = somar(0, valores); System.out.println("\nA soma dos elementos é: " + soma); } // função recursiva para somar todos os elementos de um array public static int somar(int indice, int vetor[]){ // o caso base...hora de encerrar a recursividade if(indice == (vetor.length - 1)){ return vetor[indice]; } else{ // ainda não é o caso base? vamos fazer uma nova chamada à função somar() return vetor[indice] + somar(indice + 1, vetor); } } } Ao executarmos este código Java nós teremos o seguinte resultado: Informe o valor do elemento 0: 7 Informe o valor do elemento 1: 3 Informe o valor do elemento 2: 1 Informe o valor do elemento 3: 3 Informe o valor do elemento 4: 8 Informe o valor do elemento 5: 9 Informe o valor do elemento 6: 4 Informe o valor do elemento 7: 3 Informe o valor do elemento 8: 2 Informe o valor do elemento 9: 6 A soma dos elementos é: 46 |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Eletricidade - Leis de Ohm |
Exercícios Resolvidos de Física usando Java - Calcule a resistência elétrica de um resistor que apresenta 10 AQuantidade de visualizações: 941 vezes |
Pergunta/Tarefa: Calcule a resistência elétrica de um resistor que apresenta 10 A de intensidade de corrente elétrica e 200 V de diferença de potencial (ddp). Sua saída deverá ser parecida com: Informe a corrente: 10 Informe a tensão: 200 A resistência elétrica é: 20.0 Segundo a Primeira Lei de Ohm, a resistência é calculada pela seguinte expressão: \[R = \frac{U}{I} \] Onde: R = Resistência elétrica (medida em ohms (Ω)). U = Tensão elétrica U, (medida em volts (V), ou joules por coulomb). I = Corrente elétrica I (medida em ampères (A), ou coulombs por segundo). Como os dados que temos já estão no SI (Sistema Internacional de Medidas), tudo que temos a fazer é jogá-los na fórmula. Veja o código Java que pede para o usuário informar a intensidade da corrente elétrica e a voltagem (ddp) e retorna a resistência elétrica no resistor: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos usar a classe Scanner para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar os dados System.out.print("Informe a corrente: "); double corrente = Double.parseDouble(entrada.nextLine()); System.out.print("Informe a tensão: "); double tensao = Double.parseDouble(entrada.nextLine()); // agora vamos calcular a resistência double resistencia = tensao / corrente; // e mostramos o resultado System.out.println("A resistência elétrica é: " + resistencia); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercício Resolvido de Java - Usando o laço do...while para pedir ao usuário para informar números inteiros e calcular a quantidade de números positivos, negativos, a soma e a médiaQuantidade de visualizações: 9358 vezes |
Pergunta/Tarefa: Escreva um programa Java que usa o laço do...while para ler números inteiros até que o valor lido seja igual a 0. Em seguida mostre a quantidade de valores positivos e negativos, a soma dos valores e a média aritmética (sem incluir o valor 0 na contagem e no cálculo da média). A média deverá ser exibida como um valor de ponto flutuante. Sua saída deverá ser parecida com a mostrada abaixo: Informe um número inteiro (0 para sair): 5 Informe um número inteiro (0 para sair): -4 Informe um número inteiro (0 para sair): 3 Informe um número inteiro (0 para sair): 8 Informe um número inteiro (0 para sair): -2 Informe um número inteiro (0 para sair): 0 Quantidade de números positivos: 3 Quantidade de números negativos: 2 A soma dos números lidos é: 10 A média aritmética é: 2.0 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 exercicios; import java.util.Scanner; public class Exercicios { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // declaração das variáveis int numero, quantLidos = 0, soma = 0; int quantPositivos = 0, quantNegativos = 0; // laço do...while que repetirá até que o usuário informe o valor 0 do { // lê o primeiro ou próximo número System.out.print("Informe um número inteiro (0 para sair): "); numero = Integer.parseInt(entrada.nextLine()); if(numero > 0){ // o número é positivo? quantPositivos++; } else if(numero < 0){ // o número é negativo? quantNegativos++; } // soma este número à soma já existente soma += numero; // aumenta a contagem dos números lidos if(numero != 0){ // não incluir o 0 para sair do programa na contagem quantLidos++; } } while(numero != 0); // condição de parada do laço if(quantLidos == 0){ System.out.println("Você não informou nenhum número."); } else{ System.out.println("Quantidade de números positivos: " + quantPositivos); System.out.println("Quantidade de números negativos: " + quantNegativos); System.out.println("A soma dos números lidos é: " + soma); System.out.println("A média aritmética é: " + ((soma * 1.0) / quantLidos)); // note a multiplicação de soma por 1.0 para gerar um valor de ponto flutuante // antes da divisão } } } |
Java ::: Coleções (Collections) ::: ArrayList |
Como passar uma ArrayList para um método Java - Como escrever um método Java que recebe uma ArrayListQuantidade de visualizações: 12040 vezes |
Em algumas situações precisamos passar um objeto da classe ArrayList para um método Java. Esta dica mostra como isso pode ser feito:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos_java; import java.util.*; public class Estudos{ public static void main(String[] args){ // vamos criar um ArrayList, adicionar alguns elementos // e passá-lo para um método ArrayList<String> nomes = new ArrayList<>(); nomes.add("Osmar J. Silva"); nomes.add("Fernanda de Castro"); nomes.add("José de Oliveira"); // vamos passar o ArrayList para o método imprimir(nomes); System.exit(0); } // um método que recebe um ArrayList e exibe o // o valor de seus elementos public static void imprimir(ArrayList<String> lista){ for(int i = 0; i < lista.size(); i++){ System.out.println(lista.get(i)); } } } Ao executar este código Java nós teremos o seguinte resultado: Osmar J. Silva Fernanda de Castro José de Oliveira |
Vamos testar seus conhecimentos em Python |
A coleção Set da linguagem Python permite itens repetidos. A) Verdadeiro B) Falso Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Noções de licitação pública Licitação pública é o procedimento por meio do qual a administração pública adquire ou vende bens e contrata serviços. Sobre a licitação pública, assinale a alternativa correta. A) É dever do órgão licitante garantir a igualdade entre os competidores durante todo o certame a fim de assegurar a isonomia, que é um princípio fundamental do processo licitatório. B) Na legislação que regulamenta as licitações, não há previsão para o estabelecimento, nos processos licitatórios, de margem de preferência para bens e serviços com tecnologia desenvolvida no Brasil. C) É prevista em lei a permissão para a realização de licitação cujo objeto inclua bens sem similaridade ou de marcas, de características e de especificações exclusivas, salvo em casos específicos previstos em legislação. D) Na aquisição pública de materiais mediante processo licitatório, a administração pública pode descumprir as normas e as condições do edital, visando à celeridade no recebimento dos materiais. E) A licitação é um procedimento utilizado para dar a oportunidade aos vários interessados em manifestar propostas à administração pública, que, ao final, vai selecionar a considerada mais barata. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Introdução à Ética Entre os estudos proeminentes sobre a definição da ética, da moral, sua presença e importância entre os seres humanos racionalmente organizados em sistemas sociais, as sociedades, estão as análises e reflexões dos filósofos da Grécia Antiga. Embora cada um, entre expoentes como Platão, Aristóteles e Sócrates, tivesse uma proposta de interpretação para a moral e para a ética, é possível dizer que há uma percepção comum: a de que a "A ética é a morada do homem". O que isso significa? A) A moradia física para o grego era a base da sociedade, em torno da qual circundavam os demais significados socialmente apreendidos, então, ser ético era ser bom. B) Morada é um recanto simples onde o homem pode viver com honestidade, e ser uma pessoa ética é ser honesto. C) O sentido de morada era conceito existencial, confiado ao cidadão que, vivendo conforme normas e leis existentes, teria a segurança de uma vida ética. D) Assim como o mito da caverna, a lenda da morada também é falsa e se destina à formação de exemplos aos estudantes de filosofia da atualidade. E) Aristóteles escreveu essa máxima pensando em todos os habitantes da Grécia, que exibiam a igualdade de comportamento, pensamento e opinião política. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Como encontrar o maior valor entre x e y em JavaScript? A) ceil(x, y) B) top(x, y) C) Math.max(x, y) D) Math.ceil(x, y) Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
(CEBRASPE - 2019 - Analista de Gestão de Resíduos Sólidos SLU DF) Julgue o item, acerca de aspectos relacionados aos componentes do ciclo hidrológico. A interceptação vegetal de parte da precipitação tende a reduzir a vazão ao longo do ano e a retardar e reduzir o pico de cheias. A) Verdadeiro B) Falso 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 |