Estou com dúvidas para comparar os nomes no array… ele sempre retorna a condição true
public class Aluno {
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@Override
public String toString(){
return this.nome;
}
@Override
public boolean equals(Object o){
Aluno other = (Aluno) o;
return this.nome.equals(other.nome);
}
@Override
public int hashCode() {
int hash = 7;
hash = 29 * hash + (this.nome != null ? this.nome.hashCode() : 0);
return hash;
}
}
public class ArmazenandoAlunoNoArray {
private String nomes[] = {"Ana, An, Bruna"};
public boolean adicionaAluno(Aluno aluno) {
for (int j = 0; j < this.nomes.length - 2; j++) {
for (int i = 0; i < nomes.length - 1; i++) {
if (nomes[j].compareTo(nomes[i + 1]) > 0) {
return false;
}
}
}
return true;
}
@Override
public String toString() {
return Arrays.toString(nomes);
}
}
public static void main(String[] args) {
Aluno alunoUm = new Aluno();
Aluno alunoDois = new Aluno();
Aluno alunoTres = new Aluno();
ArmazenandoAlunoNoArray diag = new ArmazenandoAlunoNoArray();
ArmazenandoAlunoNoArray lista = new ArmazenandoAlunoNoArray();
lista.adicionaAluno(alunoUm);
lista.adicionaAluno(alunoDois);
lista.adicionaAluno(alunoTres);
System.out.println(lista);
if (diag.adicionaAluno(alunoUm) == true && diag.adicionaAluno(alunoDois) == true && diag.adicionaAluno(alunoTres)) {
System.out.println("Existe Aluno com o nome repetido");
}else{
System.out.println("Não existe Aluno repetido");
}
}
}