1
resposta

Faça como eu fiz: ArrayList e toString

Segue a atividade proposta:
Classe Filme:

package br.com.alura.screenmatch.modelos;

import br.com.alura.screenmatch.calculos.Classificavel;

public class Filme extends Titulo implements Classificavel {
    private String diretor;

    public String getDiretor() {
        return diretor;
    }

    public void setDiretor(String diretor) {
        this.diretor = diretor;
    }

    @Override
    public int getClassificacao() {
        return (int) pegaMedia()/2;
    }
    
    @Override
    public String toString() {
        return  "\n[Filme: " + this.getNome() + "(" + this.getAnoDeLancamento() + "), " +
                "diretor: " + this.diretor + ", duração: " + this.getDuracaoEmMinutos() + " minutos]";
    }
}

Classe Main:

import br.com.alura.screenmatch.modelos.Filme;

import java.util.ArrayList;


public class Main {
    public static void main(String[] args) {

        System.out.println("ArrayList de Filmes:");

        Filme filme1 = new Filme();
        filme1.setNome("Forest Gump");
        filme1.setAnoDeLancamento(1994);
        filme1.setDuracaoEmMinutos(142);
        filme1.setDiretor("Robert Zemeckis");
        filme1.setIncluidoNoPlano(true);

        Filme filme2 = new Filme();
        filme2.setNome("Ant Z");
        filme2.setAnoDeLancamento(1998);
        filme2.setDiretor("Eric Darnell, Lawrence Guterman, Tim Johnson");
        filme2.setDuracaoEmMinutos(83);

        Filme filme3 = new Filme();
        filme3.setNome("O Nome da Rosa");
        filme3.setAnoDeLancamento(1986);
        filme3.setDiretor("Jean-Jacques Annaud");
        filme3.setDuracaoEmMinutos(130);

        ArrayList<Filme> filmes = new ArrayList<>();
        filmes.add(filme1);
        filmes.add(filme2);
        filmes.add(filme3);
        System.out.println("Filmes: " + filmes);
        }
    }

Output:

ArrayList de Filmes:
Filmes: [
[Filme: Forest Gump(1994), diretor: Robert Zemeckis, duração: 142 minutos], 
[Filme: Ant Z(1998), diretor: Eric Darnell, Lawrence Guterman, Tim Johnson, duração: 83 minutos], 
[Filme: O Nome da Rosa(1986), diretor: Jean-Jacques Annaud, duração: 130 minutos]]

Process finished with exit code 0
1 resposta

Olá, Raoni, como vai?

Seu código atende corretamente ao que foi proposto na atividade. A sobrescrita do método toString na classe Filme está funcionando como esperado e a utilização do ArrayList na classe Main demonstra bem o conceito de coleções aplicado a objetos. A integração com a classe Titulo e a interface Classificavel também está coerente com o conteúdo do curso.

Obrigado por compartilhar sua solução e continue trazendo suas atividades para o fórum, que está sempre à disposição para trocas e aprendizados.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!