Você está aqui: Java ::: Coleções (Collections) ::: HashSet |
Como encontrar itens repetidos em um array Java usando um objeto da classe HashSetQuantidade de visualizações: 296 vezes |
Como sabemos, um objeto da classe HashSet do Java não aceita a inserção de elementos duplicados. Podemos tirar proveito disso para escrever um código que detecta os itens repetidos em um arrays de inteiros. Veja o 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 estudos; import java.util.Arrays; import java.util.HashSet; public class Estudos { public static void main(String[] args) { // vamos criar um array de inteiros com itens repetidos int valores[] = {5, 2, 5, 3, 1, 2, 2, 7, 9}; System.out.println("Os valores do vetor são: " + Arrays.toString(valores)); // agora vamos mostrar os elementos repetidos HashSet<Integer> set = new HashSet<Integer>(); // percorremos todos os elementos do array for (int item : valores) { // e tentamos inserí-lo no HashSet if(!set.add(item)){ System.out.println("Elemento repetido: " + item); } } } } Ao executar este código Java nós teremos o seguinte resultado: Os valores do vetor são: [5, 2, 5, 3, 1, 2, 2, 7, 9] Elemento repetido: 5 Elemento repetido: 2 Elemento repetido: 2 |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Um programa Java que calcula qual o menor número possível de notas de 100, 50, 10, 5 e 1 em que o valor a ser sacado pode ser decompostoQuantidade de visualizações: 15688 vezes |
Pergunta/Tarefa: Escreva um programa Java que lê um valor inteiro e simule o comportamento de um caixa eletrônico, ou seja, calcule qual o menor número possível de notas de 100, 50, 10, 5 e 1 em que o valor a ser sacado pode ser decomposto. Seu programa deverá exibir uma saída parecida com: Informe o valor do saque (valor inteiro): 139 O valor do saque pode ser expresso em: 1 notas de 100 0 notas de 50 3 notas de 10 1 notas de 5 4 notas de 1 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public static void main(String[] args){ // não se esqueça de adicionar um import para a classe Scanner // import java.util.Scanner; // vamos criar um objeto da classe Scanner Scanner entrada = new Scanner(System.in); // variáveis que vão guardar a quantidade de notas de 100, 50, 10, 5 e 1; int cem = 0, cinquenta = 0, dez = 0, cinco = 0, um = 0; int valor; // guarda o valor lido int temp; // variável auxiliar // vamos solicitar o valor a ser sacado System.out.print("Informe o valor do saque (valor inteiro): "); // vamos ler o valor do saque valor = Integer.parseInt(entrada.nextLine()); // inicializa a variável temporária temp = valor; // quantas notas de 100? if(temp >= 100){ cem = valor / 100; temp = valor % 100; } // quantas notas de 50? if(temp >= 50){ cinquenta = temp / 50; temp = temp % 50; } // quantas notas de 10? if(temp >= 10){ dez = temp / 10; temp = temp % 10; } // quantas notas de 5? if(temp >= 5){ cinco = temp / 5; temp = temp % 5; } // quantas notas de 1? if(temp >= 1){ um = temp / 1; } // vamos exibir o resultado System.out.println("O valor do saque pode ser expresso em:"); System.out.printf("%d notas de 100\n", cem); System.out.printf("%d notas de 50\n", cinquenta); System.out.printf("%d notas de 10\n", dez); System.out.printf("%d notas de 5\n", cinco); System.out.printf("%d notas de 1\n", um); } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como testar se um array possui valores repetidos em JavaQuantidade de visualizações: 1780 vezes |
Pergunta/Tarefa: Escreva um programa Java que declara, constrói um vetor de 10 posições e pede ao usuário para informar os valores de seus elementos. Em seguida, varra o vetor e informe a existência ou não de valores repetidos. Sua saída deverá ser parecida com: Informe o valor para o índice 0: 3 Informe o valor para o índice 1: 6 Informe o valor para o índice 2: 8 Informe o valor para o índice 3: 10 Informe o valor para o índice 4: 2 Informe o valor para o índice 5: 4 Informe o valor para o índice 6: 6 Informe o valor para o índice 7: 10 Informe o valor para o índice 8: 3 Informe o valor para o índice 9: 30 Há valores repetidos no vetor Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- 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) { Scanner entrada = new Scanner(System.in); // vamos declarar e construir um vetor de 10 elementos int valores[] = new int[10]; // vamos pedir que o usuário informe os valores for(int i = 0; i < valores.length; i++){ System.out.print("Informe o valor para o índice " + i + ": "); valores[i] = Integer.parseInt(entrada.nextLine()); } // agora vamos verificar se o vetor possui valores repetidos boolean repetidos = false; // percorremos todos os elementos do vetor for(int i = 0; i < valores.length; i++){ // para cada elemento em i nos verificamos os que estão nos indices seguintes for(int j = i + 1; j < valores.length; j++){ // encontramos algum repetido? if(valores[j] == valores[i]){ repetidos = true; break; // saímos do laço } } } if(repetidos){ System.out.println("Há valores repetidos no vetor"); } else{ System.out.println("Nao há valores repetidos no vetor"); } System.out.println("\n"); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Escrever um algoritmo que lê o público total de um jogo de futebol e fornece a renda do jogoQuantidade de visualizações: 7111 vezes |
Pergunta/Tarefa: Em um determinado jogo de futebol havia 4 tipos de ingressos, assim distribuídos: popular 10% a R$ 1,00; geral 50% a R$ 5,00; arquibancada 30% a R$ 10,00 e cadeiras 10% a R$ 20,00. Escreva um programa (algoritmo) Java que leia o público total do jogo e forneça a renda obtida. Um outro enunciado muito comum deste exercício é: Escrever um algoritmo que lê o público total de futebol e fornecer a renda do jogo, sabendo-se que havia 4 tipos de ingressos assim distribuídos: popular 10% a R$ 1,00, geral 50% a R$ 5,00, arquibancada 30% a R$10,00 e cadeiras 10% a R$ 20,00. Sua saída deverá ser parecida com: Informe o público total do jogo de futebol: 10000 Renda geral do jogo: R$ 76.000,00 Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.text.NumberFormat; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos obter o público total do jogo de futebol System.out.print("Informe o público total do jogo de futebol: "); int publico = Integer.parseInt(entrada.nextLine()); // renda do ingresso popular double popular = (publico * (10.0 / 100)) * 1.00; // renda do ingresso geral double geral = (publico * (50.0 / 100)) * 5.00; // renda do ingresso arquibancada double arquibancada = (publico * (30.0 / 100)) * 10.00; // renda do ingresso cadeiras double cadeiras = (publico * (10.0 / 100)) * 20.00; // obtemos a renda total double renda_total = popular + geral + arquibancada + cadeiras; // e exibimos o resultado NumberFormat formato = NumberFormat.getCurrencyInstance(); System.out.println("Renda geral do jogo: " + formato.format(renda_total)); } } |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?# cria uma lista valores = [1, 2, 3, 4] valores[1], valores[2] = 5, 7 print(valores) A) Um erro de execução na linha 2 B) [5, 7, 5, 7] C) [4, 2, 3, 1] D) TypeError: cannot unpack non-iterable int object E) [1, 5, 7, 4] Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Postura ética profissional Os princípios éticos que norteiam a prática profissional dos engenheiros não são definidos por uma única entidade ou indivíduo específico. Há diferentes fontes e organizações que estabelecem a conduta ética a ser seguida por esses profissionais. Assinale a alternativa que melhor apresenta essas fontes e organizações, segundo Cocian (2016): A) Organizações profissionais, legislação e regulamentações, instituições de ensino, experiência profissional. B) A Associação Mundial de Engenheiros, o Conselho de Ética, a Sociedade Internacional de Engenheiros e a Federação Internacional de Engenharia (FIE). C) Os códigos de ética redigidos pelas empresas Apple, Microsoft, Google e Amazon. D) As diretrizes éticas de partidos políticos, organizações ambientais, grupos de consumidores e clubes esportivos. E) Os princípios éticos estabelecidos por escritores famosos, celebridades, filósofos antigos e artistas renomados. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?valor = 5 contador = 0 while valor < 20: valor = valor + 3 contador = contador + 1 print("O laço while repetiu {0} vezes.".format(contador)) A) O laço while repetiu 7 vezes. B) O laço while repetiu 6 vezes. C) O laço while repetiu 4 vezes. D) O laço while repetiu 5 vezes. E) O laço while repetiu 8 vezes. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Dimensionamento de lajes maciças à flexão As lajes maciças são armadas em apenas uma direção, quando apresentam a relação entre o maior e o menor vão superior a 2. Nessas situações, a laje é dimensionada como um conjunto de vigas de largura unitária, dispostas paralelamente. Considere a laje maciça apresentada na figura a seguir e determine a área de aço necessária para resistir aos esforços máximos de flexão. Dados: Peso específico do concreto = 25kN/m3 Carga do contrapiso + revestimento = 1,50kN/m2 Carga acidental = 2,00kN/m2 Altura da laje (h) = 12cm Altura útil (d) = 8cm fcd = fck / 1,4 (considerar concreto de 20MPa) fyd = fyk / 1,15 (considerar aço CA-50) Assinale a alternativa que apresenta o valor correto de As: A) As = 0,019cm2. B) As = 1,75cm2. C) As = 1,397cm2. D) As = 0,024cm2. E) As = 1,701cm2. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de canto Os pilares de canto são solicitados pela flexão oblíqua, tendo momentos de 1ª ordem e excentricidades nas direções x e y. Analise os dados para o pilar a seguir: Qual o valor das excentricidades no topo e na base do referido pilar, em x e y? A) e1,x,A = 1,02cm. e1,x,B = 1,31cm. e1,y,A = 2,05cm. e1,y,B = 1,75cm. B) e1,x,A = 1,52cm. e1,x,B = 1,31cm. e1,y,A = 2,22cm. e1,y,B = 1,99cm. C) e1,x,A = 2,10cm. e1,x,B = 1,56cm. e1,y,A = 1,50cm. e1,y,B = 1,99cm. D) e1,x,A = 2,78cm. e1,x,B = 1,32cm. e1,y,A = 1,50cm. e1,y,B = 1,99cm. E) e1,x,A = 1,78cm. e1,x,B = 1,32cm. e1,y,A = 1,22cm. e1,y,B = 0,99cm. Verificar Resposta Estudar Cards Todas as Questões |
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 |
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 |