1
resposta

Array Volta null

import java.util.ArrayList;

public class Principal { public static void main(String[] args) { Pessoa pessoa1 = new Pessoa(); pessoa1.setNome("Felipe"); pessoa1.setIdade(27);

    Pessoa pessoa2 = new Pessoa();
    pessoa1.setNome("Anônio");
    pessoa1.setIdade(40);

    Pessoa pessoa3 = new Pessoa();
    pessoa1.setNome("Thalya");
    pessoa1.setIdade(27);

    ArrayList<Pessoa> listDePessoa = new ArrayList<>();
    listDePessoa.add(pessoa1);
    listDePessoa.add(pessoa2);
    listDePessoa.add(pessoa3);

    System.out.println("Tamanho da lista: " + listDePessoa.size());
    System.out.println("Primeira pessoa: " + listDePessoa.get(1));
    System.out.println("Lista completa: " + listDePessoa);
}

}

package arrayDesafio;

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

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public int getIdade() {
    return idade;
}

public void setIdade(int idade) {
    this.idade = idade;
}

@Override
public String toString() {
    return "Pessoa{" + "nome='" + nome + '\'' + ", idade=" + idade + '}';
}

}

Tamanho da lista: 3 Primeira pessoa: Pessoa{nome='null', idade=0} Lista completa: [Pessoa{nome='Thalya', idade=27}, Pessoa{nome='null', idade=0}, Pessoa{nome='null', idade=0}]

Process finished with exit code 0

1 resposta

Oi Felipe,

Percebi que você está enfrentando um problema com a atribuição de valores aos seus objetos Pessoa. 🙄

O erro está em reutilizar pessoa1 para definir os atributos de pessoa2 e pessoa3.

Você está sobrescrevendo os valores de pessoa1 repetidamente, e não criando novas instâncias com os dados corretos.

Veja o código corrigido:

public class Principal {
    public static void main(String[] args) {
        Pessoa pessoa1 = new Pessoa();
        pessoa1.setNome("Felipe");
        pessoa1.setIdade(27);

        Pessoa pessoa2 = new Pessoa();
        pessoa2.setNome("Anônio"); // Corrigido: pessoa2
        pessoa2.setIdade(40);     // Corrigido: pessoa2

        Pessoa pessoa3 = new Pessoa();
        pessoa3.setNome("Thalya"); // Corrigido: pessoa3
        pessoa3.setIdade(27);     // Corrigido: pessoa3

        ArrayList<Pessoa> listDePessoa = new ArrayList<>();
        listDePessoa.add(pessoa1);
        listDePessoa.add(pessoa2);
        listDePessoa.add(pessoa3);

        System.out.println("Tamanho da lista: " + listDePessoa.size());
        System.out.println("Primeira pessoa: " + listDePessoa.get(1));
        System.out.println("Lista completa: " + listDePessoa);
    }
}

👍

Com essa correção, cada objeto Pessoa terá seus próprios valores, e a lista exibirá os dados corretamente. 🤔

Para saber mais: Documentação oficial do Java sobre ArrayList. Aqui você encontra detalhes sobre como usar listas em Java.

Continue praticando e explorando o mundo da programação! 💪

tux matrix Caso este post o tenha ajudado, marque-o como solucionado ☑️. Bons Estudos! 🤓