public void exibeExtrato(){
System.out.print("As notas do aluno(a) " + super.getNome() + " são: \n");
for(int i = 0; i<5; i++) System.out.print(notas[i]+" ");
System.out.println("\nA média do aluno(a) " + super.getNome() + " é: " + getMedia());
System.out.println("------------------------------------------------");
}
em outra classe quero um método de busca, este deve varrer o array e encontrar o aluno com nome igual ao passado como parâmetro, e retornar todos os dados deste.
fiz o seguinte:
[code]public Aluno buscaAluno(String a){
Aluno retorno = null;
for (int i = 0; i <todos.length; i++){
if (todos[i].getNome().equals(a)){
retorno = todos[i].exibeExtrato();
break;
}
}
Outra coisa, se todos é uma lista, é mais fácil usar o for each. Você também pode usar o return para abandonar a função e não ter uma variável temporária.
public Aluno buscaAluno(String a){
for (Aluno aluno : todos) {
if (aluno.getNome().equals(a)){
return aluno;
}
}
return null;
}
[quote=natz]Seguinte, o erro que dá é esse mesmo, de que o método deveria ser void e tal.
mas por exemplo, colocando o que o ViniGodoy mostrou, compila certo só que não executa. não abre nada no terminal (usando o bluej).[/quote]
É que agora o método agora só busca aluno, não imprime nada. Depois de fazer a busca, você pega esse Aluno que ele retorna, e chama o método exibeExtrato.
Não esqueça de verificar se o aluno que ele retorna não está nulo, p/ assim chamar algum método dele (senão dá NullPointerException).