Foi me passado a seguinte questão:
Leia uma lista de 10 posições e verifique se existem valores iguais e os escreva.
Só que infelizmente o burro aqui não conseguiu
Eu tentei isso aqui:
` private static void preencher() {
String aux="Valores que são iguais:\n";
int igual;
for(int i=0;i<10;i++)
vetor[i]=Integer.parseInt(JOptionPane.showInputDialog("Informe o "+(i+1)+"º valor"));
for (int i=0;i<10;i++) {
for (int j=0;j<9;j++) {
if(vetor[i]==vetor[j+1]) {
igual=vetor[i];
aux+=igual+"\n";
}//if
}//fim do 2 for
}//fim do for
JOptionPane.showMessageDialog(null, aux);
}`
Utilizei o aux2 pra guardar o valor que quero verificar se existe e o indice pra salvar a posição onde o valor está, e no if eles tem que serem iguais mas em posições diferentes.
public static void main(String args[]) {
String aux="Valores que são iguais:\n";
int igual,indice;
int[] vetor = new int[10];
int aux2;
for(int i=0;i<10;i++) {
vetor[i]=Integer.parseInt(JOptionPane.showInputDialog("Informe o "+(i+1)+"º valor"));
}
for (int i=0;i<10;i++) {
aux2=vetor[i];
indice=i;
for (int j=0;j<10;j++) {
if(vetor[j]==aux2 && indice != j) {
//igual=vetor[j+1];
aux+=aux2+"\n";
}//if
}//fim do 2 for
}//fim do for
//JOptionPane.showMessageDialog(null, aux);
System.out.println(aux);
}
}
Você poderia me explicar o que tava dando errado no meu código?
Observei que você usou != j. Suponho que seja pra verificar outros vetores. Mas quero ouvir sua explicação (se possível)
Bom, você quer verificar se determinado número se repete na sua lista/vetor, então vamos supor que temos um array de
4 posições onde : vetor[0]=1, vetor[1]=2, vetor[2]=3,vetor[3]=1
O número 1 se repete nas posições 0 e 3 do vetor, no seu código você guardava o número assim igual=vetor[i], entretanto você não passava a posição do número que deseja verifica se repete no vetor, não fazendo isso ele sempre irá encontrar repetição, pois iria sempre verificar o valor que você guardou duas vezes. Logo, se quero verificar se o valor que se encontra na posição 0 do vetor (1) se repete nas demais posições, eu tenho que eliminar a posição 0 da minha verificação, pois o valor já está contido lá, por isso o != j, onde j é a posição do vetor onde está o valor que quero verificar. Basicamente j guarda a posição do valor que você deseja verificar, e no if o vetor[j] precisa ser igual a aux2 e eles tem que estar em posições diferentes do vetor.
Não sei se me expressei bem, qualquer coisa da um salve, vlw!