Varredura de Vetor

Estava fazendo um trabalho… que precisava digitar codigos.

um vetor de 40 posições

e o usuario vai inserindo codigos… de 0 a 40 , podendo cadastrar 1 ou 20 ou 30 , qualquer numero entre 1 e 40.

o problema é que eu nao consigo fazer caso ele digite codigo repetido o programa pare e solicite que ele digite novamente o codigo porque ele digitou codigo repetido.

Exemplo

o cara vai digitar 7 codigos…

1- 9
2- 34
3- 44
5- 67
6- 99

ai quando ele vai digitar o 7 codigo, é igual a qualquer um desses 6 ja digitiados… [color=red]resumindo…Como faço pra o programa comparar o ultimo codigo digitado com os codigos que ja foram digitados ???[/color]

fuzybr,

você poderia pensar em dois laços! Imagine que ao digitar um número, você compare o número que acabou de ser digitado com todos os outros números, desde a primeira posição até a atual-1.
Um laço seria pra preencher os códigos, e o outro pra comparar os números.

[]'s

Devem haver outras formas, até mais corretas, mas fica aqui a minha idéia:

for(int i=0; i<5; i++){
     int flag = 0;
     System.out.println("Favor digite um código: "); 
     codigos[i] = scanner.nextInt(); //usuário digita o código
     
     while(flag==0){ //enquanto flag for 0, permanece no loop
           for(int j = 0; j<i; j++){
                 if(codigos[j] == codigos[i]){//se valor for repetido, pede para inserir novamente
                      System.out.println("Esse valor já existe no vetor. \nFavor digite outro código:");
                      codigos[i] = scanner.nextInt();
                 }
           }
           flag = 1;//flag recebe um para identificar que o novo valor foi inserido

           //mas para ter certeza que o usuário não sacaneou
           //faz mais uma verificação
           for(int j = 0; j<i; j++){
                 if(codigos[j] == codigos[i]){
                      flag = 0; //se repetiu de novo flag volta pra zero, e começa tudo de novo 
                 }
           }
     }

}

Amigo nao sei se ter ajuda muito mas voce poderia usar um treeSet para fazer isso ou criar um comparator e sempre da um Sort nesse vetor ai se retorna 0 e porque e igual ai e so remover esse item , " Estou assumindo que os objetos inseridos sao tipo primitivos ou Wrapper".