Galera tenho esse metodo, e a meu ver a logica dele esta perfeita! Mas ele so esta retornando null.
public Aluno localizarAluno(){
Aluno aluno = null;
for (int i = 0; i < alunos.size(); i++){
Aluno a = alunos.get(i);
if (a.getMatricula()==matricula){
aluno = alunos.get(i);
break; // encerra o loop
}
}
return aluno; // retorna o aluno encontrado, ou null caso alunos.size() seja zero ou o aluno não tenha sido encontrado
}
Chamada do metodo:
case 4:
if (teste==null) {
System.out.println("Nenhum diario localizado! Tente novamente.");
}
else{
System.out.println("Informe a matricula a ser buscada: ");
teste.matricula = Teclado.nextInt();
teste.localizarAluno();
System.out.println("Aluno "+teste.localizarAluno());
}
break;
Não acredito que o problema seja na chamada, já que testei esse metodo, e ele realmente esta retornando sempre null
Galera descobri o erro! O erro estava na listagem de objetos
Fala @Emanuel_Sampaio, beleza?
Cara, você tem certeza que a sua coleção e o atributo matrícula
no objeto possuem valores?
tem como me dar uma ajudinha na array list?
//----------------------------------------------Adicionar aluno class diario-------------------------------------------
ArrayList<Aluno> alunos = new ArrayList<>();
public int adicionarAluno(){
localizarAluno();
if (localizarAluno()==null) {
Aluno instancia = new Aluno(matricula, nome, nota1, nota2, nota3,faltas);
alunos.add(instancia);
return 1;
}
else return 0;
}
--------------------------------------------------------main class---------------------------------------
case 2:
if (diario==null) {
System.out.println("Nenhum diario localizado! Tente novamente.");
}
else{
System.out.println("Informe o numero da matricula: ");
diario.matricula = Teclado.nextInt();
System.out.println("Informe o nome do aluno: ");
Teclado.nextLine();
diario.nome = Teclado.nextLine();
System.out.println("Informe nota 1 do aluno: ");
diario.nota1 = Teclado.nextFloat();
System.out.println("Informe nota 2 do aluno: ");
diario.nota2 = Teclado.nextFloat();
System.out.println("Informe nota 3 do aluno: ");
diario.nota3 = Teclado.nextFloat();
System.out.println("Informe o numero de faltas: ");
diario.faltas = Teclado.nextInt();
}
break;
Você pode explicar melhor qual o tipo de ajuda que você precisa?
Olha ai…este é o causador da avaria kkkkkk
Cara, teria como tu postar o restante do código e me informar qual o tipo de teste que tu tá fazendo?