Ir ao conteúdo
  • Cadastre-se

Digitar vários números e que ele me diga qual seria o numero repetido


Posts recomendados

Boa tarde queria pedir alguma orientação ao respeito de um programa que estou querendo fazer, basicamente o que quero é digitar vários números e que ele me diga qual seria o numero repetido e quantas vezes fiz um código, se alguém puder ajudar agradeço.


 

package treino;
import java.util.*;
public class teste {
    public static void main(String[] args) {
        Scanner ler = new Scanner(System.in);
        
        String num = null;
        int n1;
    
        for ( int i=0; i<4; i++){ 
        
            System.out.print("Ingresse um numero: ");
            num=ler.next();
        
        }
        
       ler.close();
    }
}

 

Link para o comentário
Compartilhar em outros sites

@B0b5cooter sim claro, primeiro agradeço sua atenção, não sei se seria possível, mas basicamente queria digitar números por exemplo 10 números e ao finalizar a contagem se tiver algum número repetido me informa-se por exemplo número 33 foi inserido 3 vezes, número 7 duas vezes e assim sucessivamente caso nenhum número se repita finaliza.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Cristian Alejandro Rodriguez

Faz tempo que eu não programo em java então não posso lhe ajudar diretamente com o código, mas para responder sua pergunta é necessário que você use vetores ou arraylist.

Creio que seja mais fácil usando vetores e pelo menos 2 laços de for.  

Veja este link que contém um código que aparenta funcionar:  http://www.guj.com.br/t/quantas-vezes-o-numero-se-repete-em-um-vetor/69313/5

 

Se quiser fazer com arraylist veja este outro: http://www.guj.com.br/t/contar-numeros-repetidos-arraylist/58125/3

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Primeiro.... se tu quer comparar os numeros repetidos tu precisa que os numeros sejam inteiros e não strings certo. Então, primeiro, mantém o teu String num para receber a entrada e o teu int n1 para transformar essa string em um número depois. Coloquei (declarei instanciei e iniciei) um vetor de numeros de 4 posições também: por que ? por que antes, toda vez que tu passava pelo "for", tu sobrescrevia a tua string num e perdia as informações que foram colocadas antes. Se tu quer manter essas informações tu vai precisar do array para guardar elas em cada posicao.

String num;
int n1;
int[] numeros = {0,0,0,0};

Segundo... Ok. Resolvi um problema e te dei outro: como é que tu vai fazer ler.next() e jogar essa entrada para dentro de uma posicao do teu vetor de inteiros, se o java diz que tu só pode jogar um ler.next() para dentro de um string? Ok. Vou te mostrar como o Integer.parseInt funciona:

for ( int i=0; i<4; i++) {  
            System.out.print("Ingresse um numero: ");
            num=ler.next(); // até aqui igual como estava antes

  			try {
    			n1 = Integer.parseInt(num); /* nessa linha eu faço o seguinte:
pego num (String) mando pro método "Integer.parseInt" e o método manda de volta
pra mim um inteiro, e eu jogo esse inteiro pra dentro de n1 (int). Legal ! Mas
isso sempre funciona ? E se alguém escrever "abóbora" e essa entrada for para num,
o método vai me devolver um número? pois é... abóbora não é um número. nem tudo é
perfeito. então, toda vez que alguém escrever algo que não seja um número o método
vai bugar. Só que ao invés de deixar o método bugar eu sou mais esperta: vou mandar
ele só imprimir a mensagem de erro a seguir e ignorar o erro, e continuar rodando. */
    		} catch (NumberFormatException error) { /* o catch "pega o erro" antes
que o método bugue, e ao invés de deixar o método bugar e ferrar com o meu programinha,
eu só imprimo a minha mensagem de erro e o programa segue*/
    			System.out.println("Erro! A entrada deve ser um NÚMERO: como 1.");
    		}
/* certo. agora que eu já consegui fazer o aboboromaníaco escrever um número eu coloco
esse número dentro do meu vetor de inteiros, para não perder ele numa sobrescrição.*/
  			numeros[i] = n1;
}

Terceiro... agora é fácil. é só comparar o numero de cada posicao do vetor com o numero de todas as posições do vetor e ir guardando os que estão repetidos (em uma variavel nova) e quantas vezes se repetiram. Dica: use dois "for"s. Depois me mostra como ficou, se tu conseguiu ou não, que eu te ajudo de novo.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...
Em 02/07/2016 às 01:28, Rafaela Bennett disse:

 

 

Boa Noite, Rafaela muito obrigado pelas instruções, últimamente tive pouco tempo de mexer, peço até desculpas pela demora em responder vou testar nesses dias vou testar e qualquer coisa aviso. Obrigado.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...