Pesquisa Array

12 respostas
zzzhhh
Olá amigos gostaria de uma ajudinha como posso tira o erro desse trecho no if eu estou fazendo uma pesquisa para exclui ele no array quando digita o numero igual a que foi cadastrado no array antes
public void mostraum(int c){
		boolean b=true;
		for(int i=0; i<v.length; i++){
			if(v[i].cpf.equals(c)==0)//erro aqui nessa linha
			{
				JOptionPane.showMessageDialog(null, "Nome: " + v[i].nome+"\nTelefone: "+v[i].numero+"\nCPF: "+v[i].cpf+" .");
				i=v.length;
				b=false;
			}
			 
		}
		if(b==true){
			JOptionPane.showMessageDialog(null, "Nome nao encontrado");
		}
	}

12 Respostas

erickcellani

use apenas o .equals(aki o que deve ser comparado com o v[i].cpf) !

erickcellani

outra coisa… naum que esteje errado… mas desnecessario!..

qnd se compara um boolean vc pode fazer assim…

boolean teste = true;

if(teste) {
//aki o valor para true
} else {
//logicamente aki o valor para false
}

:wink:

zzzhhh

um…
nao consegui colocar so o .equals…continuo com o mesmo erro…

if(v[i].cpf.equals)

está errado?

ViniGodoy

No java booleans são diferentes de integer.

true != 0

Se fosse C++, isso talvez funcionaria. :slight_smile:

ViniGodoy

A linha certa seria:

if(v[i].cpf.equals(c))
zzzhhh

o estranho q continua dando o mesmo erro…

public void mostraCPF(int c)
	{
		boolean b=true!=0;

		
		for(int i=0; i<v.length; i++)
		{
			if(v[i].cpf.equals(c))

			{
				JOptionPane.showMessageDialog(null, "Nome: " + v[i].nome+"\nTelefone: "+v[i].numero+"\nCPF: "+v[i].cpf+" .");
				i=v.length;
				b=false;
			}
			 
		}
		if(b==true)
		{
			JOptionPane.showMessageDialog(null, "CPF nao encontrado");
		}
	}
neohacker

Mudando um pouco da sua dúvida, vc precisa procurar por um cpf, pra ver se ele ja naum esta cadastrado é isso ??
se for algo assim use alguma collection que implemente Set, elas naum permitem valores duplicados

zzzhhh

é assim…
eu preciso fazer um cadastro com nome telefone e endereço cidade essas coisas mas na hora de pesquisar tenho que procurar pelo nome ou pelo cpf

ViniGodoy

Que erro dá?

Para fazer com um set, ou o hashcode se baseia no CPF,
ou ele usa um treeset e faz um comparator por CPF.

zzzhhh

o erro que da é o seguinte
if(v[i].cpf.equals©)
^
int cannot be dereferenced e aparece como se o erro fosse no equals eu acho…o erro se da no .cpg.equals no .equal q aparece a ^

KWill

Se esse atributo cpf for do tipo primitivo inteiro (int), o método equals(Object o) não vai estar disponível.

Inté.

ViniGodoy

Neste caso o if é super simples:

if(v[i].cpf == c)
Criado 9 de maio de 2007
Ultima resposta 10 de mai. de 2007
Respostas 12
Participantes 5