[RESOLVIDO]Comparar String Com Array

4 respostas
douglasduarte360

Pessoal não estou conseguindo compara uma string com meu array. Sempre aparece que que meu boolean é true, mesmo não sendo.

public void compara() throws SQLException{
dao = new UsuarioDAO();
    
    ArrayList<Aluno> x=dao.comparacpf();//Preencho o array com esse metodo que vem da minha Classe DAO
 String x2=jTcpf.getText();//jTextField que o usuario digita o CPF
  
   boolean s = false;    
 for (int i = 0; i < x.size(); i++) {  
     boolean equals =x2.equals(x);
     /*
      quero fazer a comparação se x2=x
      * entao JOptionPane.showMessageDialog(null, "CPF já cadastrado");
      */
     
    s=true;
 
  
        } 
if(s=true){

 JOptionPane.showMessageDialog(null, "CPF já cadastrado");
}else{
 JOptionPane.showMessageDialog(null, "Cadastra");
}
    }

4 Respostas

B

Mas x não é uma String.

x é um ArrayList<Aluno> e x2 uma String.

então, resumindo:

boolean s = false;

for (int i = 0; i &lt; x.size(); i++) {
     s = x2.equals(x.get(i).getCpf());

     if (s)
        break;
}

if(s)
  JOptionPane.showMessageDialog(null, "CPF já cadastrado");  
else
  JOptionPane.showMessageDialog(null, "Cadastra");
freakazoid

Usar nome de mais intuitivos para as variáveis tbm ajuda na hora de analisar o código. Vai por mim, experiencia própria rs

Abs!

douglasduarte360
btafarelo:
Mas x não é uma String.

x é um ArrayList<Aluno> e x2 uma String.

então, resumindo:

boolean s = false;

for (int i = 0; i &lt; x.size(); i++) {
     s = x2.equals(x.get(i).getCpf());

     if (s)
        break;
}

if(s)
  JOptionPane.showMessageDialog(null, &quot;CPF já cadastrado&quot;);  
else
  JOptionPane.showMessageDialog(null, &quot;Cadastra&quot;);

Obrigado a todos pessoal Deu certinho.

freakazoid estou renomeando minhas variaveis.

Valeu!!

WellingtonRamos

douglasduarte360:
//... if(s=true){ //...

Outra coisa é que, ao fazer s = true você não está fazendo uma comparação, mas atribuindo true para s. Para comparar, precisa usar ==
E, como s já é boolean, é totalmente desnecessária essa comparação.

Como @btafarelo já citou, existem outros erros. É bom revisar seu código.

Criado 12 de março de 2013
Ultima resposta 12 de mar. de 2013
Respostas 4
Participantes 4