Pessoal…
como faço pra eliminar valores repetidos de um arranjo de inteiros
int[] arranjo = new int[10]; // assim que crio o arranjo
dai mando preencer com numeros aleatorios entre 10 e 17
dai tenho que eliminar os repetidos!
valews
Pessoal…
como faço pra eliminar valores repetidos de um arranjo de inteiros
int[] arranjo = new int[10]; // assim que crio o arranjo
dai mando preencer com numeros aleatorios entre 10 e 17
dai tenho que eliminar os repetidos!
valews
Ja pensou em percorrer o arranjo com dois loops chegando 1 numero(“fixo”) e outro “dinamico”? Se forem iguais, remove aquela posição.
isso eu to fazendo…eu não to sabendo como remover esse elemento repetido
como que faz pra remover ele
isso eu to fazendo…eu não to sabendo como remover esse elemento repetido
como que faz pra remover ele
Array não tem tamanho dinâmico, então você não pode remover uma posição.
O que poderia fazer era criar um array de Integer e quando tiver posição repetidas inserir null na posição, mas não remove-la.
por exemplo
int[] arranjo = new int[10];
dai vai
if(arranjo[i] == arranjo[j]){
arranjo[j]=null;
}
???
dá certo atribuir NULL a um inteiro?
Sim, um Integer é um objeto então aceita null, diferente de int que é primitivo e não aceita null.
Mas dai tem que tomar cuidado para não gerar um nullPointerException quando percorrer esse array.
Tem que colocar um if para testar se a posição não é nula, senão da exceção.
if (array[i] != null) {
....
}
legal
mas uma ultima coisa…por ex:
não tem alguma função de alguam classe que faça a exclusão de um arranjo?
por ex…arranjo.excluir(posição) ???
é pq começei a utilizar java no curso a 2 semanas…dai não sei se posso fazer algo meio complexo
legal
mas uma ultima coisa…por ex:
não tem alguma função de alguam classe que faça a exclusão de um arranjo?
por ex…arranjo.excluir(posição)???é pq começei a utilizar java no curso a 2 semanas…dai não sei se posso fazer algo meio complexo
Não tem justamente pq o tamanho do arranjo é imutável. Depois de criado não pode modificá-lo.
Use então listas, List, ArrayList, Vector…
poxa romarcio!
Aqui velho… como eu vou criar esse arranjo INTEGER ???
Integer[] arranjo = new Integer[10];
poxa romarcio!
Aqui velho… como eu vou criar esse arranjo INTEGER ???
Integer[] arranjo = new Integer[10];
Assim mesmo como você fez.
vc pode “simular” uma remoção no array copiando os valores dele pra outro array mas não os repetidos entende?
primeiro vc percorre o seu array… cada numero repetido q ele encontrar, atribui um valor q vc sabe q nunca vai ter ( por exemplo -1) naquela posição… lembre-se de anotar quantos -1 vc inseriu
depois cria um novo array com um numero de posições igual a: numero de posições do antigo array - numero de -1 inseridos no array
dae percorre seu array e vai inserindo os numeros que não forem -1 nesse novo array
simples =)