Escreva uma programa que dado um conjunto de números inteiros, retorne os números que se repetem. Exiba 0 se nenhum se repete. Entrada: 1 2 3 4 5 6 7 8. Saída: 0 Entrada: 1 5 4 4 2 8 6 7. Saída: 4 Entrada: 1 2 3 4 2 1 5 7. Saída: 1 2
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Escreva uma programa que dado um conjunto de números inteiros, retorne os números que se repetem. Exiba 0 se nenhum se repete. Entrada: 1 2 3 4 5 6 7 8. Saída: 0 Entrada: 1 5 4 4 2 8 6 7. Saída: 4 Entrada: 1 2 3 4 2 1 5 7. Saída: 1 2
Olá, implementei uma solução usando a interface List e classe ArrayList para representar a lista de numeros a ser verificada. Além disso usei streams para verificar o número de ocorrencias do elemento e retornar os repetidos.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class NumerosRepetidos {
public static void main(String[] args) {
List<Integer> lista = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 4, 5));
System.out.println("Lista" + lista);
System.out.println();
System.out.println("Repetidos: " + verificaRepeticao(lista));
}
private static String verificaRepeticao(List<Integer> lista) {
List<Integer> listaDeNumerosRepetidos = new ArrayList<>();
for (Integer elemento : lista) {
Long aparicoes = lista.stream().filter(numero -> numero == elemento).count();
if (aparicoes > 1) {
listaDeNumerosRepetidos.add(elemento);
}
}
return listaDeNumerosRepetidos.toString();
}
}
Resposta no prompt:
Lista[1, 1, 2, 3, 4, 5]
Repetidos: [1, 1]
Process finished with exit code 0