Pessoal não estou conseguindo compara uma string com meu array. Sempre aparece que que meu boolean é true, mesmo não sendo.
[code]
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”);
}
}[/code]
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 < 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");
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!
[quote=btafarelo]Mas x não é uma String.
x é um ArrayList<Aluno> e x2 uma String.
então, resumindo:
[code]
boolean s = false;
for (int i = 0; i < 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");
[/code][/quote]
Obrigado a todos pessoal Deu certinho.
freakazoid estou renomeando minhas variaveis.
Valeu!!
[quote=douglasduarte360]…//...
if(s=true){
//...
[/quote]
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.