1
resposta

[Projeto] Desafio: hora da prática

Olá,

Segue a minha ideia de resposta para o desafio proposto.

Para a classe Pessoa utilizei o seguinte código:

public class Pessoa {
    private String nome;
    private int idade;

    public Pessoa (String nome, int idade) {
        this.nome = nome;
        this.idade = idade;
    }

    @Override
    public String toString() {
        return "Nome: " + this.nome + "\nIdade: " + this.idade;
    }
}

E já na classe Main:

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        Pessoa pessoa = new Pessoa("José da Silva", 25);
        System.out.println(pessoa.toString());

        var outraPessoa = new Pessoa("Maria da Silva", 50);
        var maisUmaPessoa = new Pessoa("José de Oliveira", 33);

        ArrayList<Pessoa> listaDePessoas = new ArrayList<>();

        listaDePessoas.add(pessoa);
        listaDePessoas.add(outraPessoa);
        listaDePessoas.add(maisUmaPessoa);

        System.out.println("O tamanho da lista é de " + listaDePessoas.size());
        System.out.println("A primeira pessoa é " + listaDePessoas.get(0));
        System.out.println(listaDePessoas.toString());

        for (int i = 0; i < listaDePessoas.size(); i++) {
            System.out.println(listaDePessoas.get(i));
        }

    }
}

No momento da elaboração do construtor inicialmente me esqueci de incluir as atribuições dos parâmetros com o método "this.", o que fiz posteriormente e foi um apontamento importante para me atentar futuramente.

Por outro lado, não compreendi o laço de repetição utilizado na sugestão do exercício, embora pareça uma solução bem mais prática e ágil:

for (Pessoa pessoa : listaDePessoas) {
    System.out.println(pessoa);
}
1 resposta

Olá, Alessandro. Tudo bem?

Obrigado por compartilhar aqui com a gente.

Gostei de como você estruturou a classe Pessoa e organizou a lista de objetos Pessoa na Main._ Sobre sua dúvida no laço de repetição: o que você encontrou na sugestão do exercício é o "for-each", um tipo de laço mais conciso e comum para iterar sobre coleções em Java. A ideia é simplificar o código, pois ele percorre cada elemento da lista diretamente, sem necessidade de índice.

Veja um exemplo do for-each aplicado ao seu código:

for (Pessoa pessoa : listaDePessoas) {
    System.out.println(pessoa);
}

Esse laço acessa cada pessoa na listaDePessoas automaticamente, tornando o código mais legível. Assim, você consegue imprimir todos os objetos de forma mais prática.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!