Quando imprime sai uns "símbolos"

Ola pessoal, estou tentando imprimir o nome das pessoas que compõe o grupo do líder que eu escolhi pelo método chamado “conjEqp.seguidores(equipe,“leticia”)” entretanto quando eu chamo esse método em veis de imprimir o nome do grupo está saindo o seguinte:
Capturar
Já tentei varias coisas pra chamar o método “void seguidores(List perfis,String nome)” da classe “Equipe” e retornar os nomes.
Eu tentei usar o “toSring” no metodo ( “p.grupo.toString();” ) da seginte forma:

public void seguidores(List<Prova> perfis,String nome){
     for(int i=0;i<perfis.size();i++){
        Prova p = perfis.get(i);
        if(nome.equalsIgnoreCase(p.nome)){ 
           p.grupo.toString();
            break;
        }

Só que não aparecia nada quando eu chamava desse jeito.

Segue abaixo o código do programa que eu fiz que apareceu o erro da imagem acima(sem o “toString”):

public class Test1 {
    public static void main(String[] args) {
 
       // registrar os alunos 
        Prova leticia = new Prova("Leticia",10);
        Prova jose = new Prova("Jose",8);
        Prova lucio = new Prova("Lucio",7);
        Prova anabelle = new Prova("Anabelle",6);
        Prova paulo = new Prova("Paulo",10);
        Prova julio = new Prova("julio",4);

        // adicionar o aluno ao lider do grupo
        leticia.grupo.add(lucio);
        leticia.grupo.add(jose);
        jose.grupo.add(anabelle);
        jose.grupo.add(paulo);
        jose.grupo.add(julio);
        
        // agrupar as equipes
        List<Prova> equipe = new ArrayList<>(); 
        equipe.add(leticia);
        equipe.add(jose);
        
        // chamar metodo para mostrar os alunos que estão com o lider do grupo escolhido 
        Equipe conjEqp = new Equipe(equipe);
        conjEqp.seguidores(equipe,"leticia"); 
    }
}

class Prova{
    String nome;   int nota;   List<Prova> grupo; 
    public Prova(String nome, int nota){
        this.nome = nome;
        this.nota = nota;
        this.grupo = new ArrayList<>();
    }  
}

class Equipe{
    List<Prova> equipe; int n;
    public Equipe (List<Prova> equipe){
        this.equipe = equipe;
    }
    
    public void seguidores(List<Prova> perfis,String nome){
        String seguidores;
         for(int i=0;i<perfis.size();i++){
            Prova p = perfis.get(i);
            if(nome.equalsIgnoreCase(p.nome)){ 
               System.out.println(p.grupo);      //Aqui esta o meu problema 
                break;
            }
            
        }
    }

}

Está imprimindo certo, o seu problema é o que você está imprimindo. No caso você está imprimindo um objeto e não o valor dele.

Você pode fazer um método na classe Prova que resolva receba um objeto e imprima eles.

1 curtida

Parece que voce esqueceu de declarar o metodo toSring na classe Equipe
e para exibir so isso basta: System.out.print( p );

1 curtida

obg galera pela ajuda. Eu descobri q eu estava fazendo de forma errada do que estava sendo pedindo