Problemas comIF

Olá estou tendo problemas com esse IF:

System.out.println("| DIGITE O RA |"); System.out.println("---------------------------------------------------"); String consultaRA = entrada.nextLine(); for (int i = 0; i < nroElem; i++){ Dados obj = lista.pega(i); if (obj.getraAluno().equals(consultaRA)){ System.out.println("|-------------------------------------------------|"); System.out.println("RA:..............................."+obj.getraAluno()); System.out.println("NOME:............................."+obj.getnomeAluno()); System.out.println("DATA DE NASCIMENTO:..............."+obj.getdNasc()); System.out.println("NOTA N1:.........................."+obj.getn1()); System.out.println("NOTA N2:.........................."+obj.getn2()); System.out.println("NOTA U1:.........................."+obj.getu1()); System.out.println("NOTA ED:.........................."+obj.geted()); System.out.println("NOTA U2:.........................."+obj.getu2()); System.out.println("FALTAS TOTAIS:...................."+obj.getfTotais()); System.out.println("|-------------------------------------------------|"); }else{ System.out.println("---------------------------------------------------"); System.out.println("| ALUNO NÃO CADASTRADO |"); System.out.println("---------------------------------------------------"); }

Então ele está mostrando na tela o resultado do if e do else.

Tu estás a correr todos os alunos e a escrever uma mensagem para cada um deles.
Naturalmente estará a escrever várias vezes que não encontrou o aluno e uma vez os dados do aluno encontrado.

O que tu queres é só depois de correr toda e lista e se não encontrou o aluno, escrever que não encontrou.