Oii, Sivia.
O problema tá nesse ponto: quando o console mostra null(2003 ), significa que algum objeto do tipo Filme foi criado sem o nome definido. Isso acontece porque o construtor ou o setNome()
não recebeu valor, então o atributo ficou nulo.
class Filme {
private String nome;
private int ano;
public Filme(String nome, int ano) {
this.nome = nome;
this.ano = ano;
}
public String getNome() {
return nome;
}
public int getAno() {
return ano;
}
@Override
public String toString() {
return "Filme: " + nome + "(" + ano + " )";
}
}
public class Principal {
public static void main(String[] args) {
Filme f1 = new Filme("O poderoso chefao", 1970);
Filme f2 = new Filme(null, 2003); // nome nulo
System.out.println(f1);
System.out.println(f2);
}
}
O código acima imprime null(2003 ) porque passamos null no construtor.
Para resolver, basta garantir que o nome do filme seja informado corretamente antes de adicionar à lista.
Exemplo corrigido:
Filme f2 = new Filme("DogVille", 2003);
Assim, ao imprimir a lista, o console mostrará corretamente o nome do filme.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado