Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

ArrayList e toString

// Principal

import br.com.alura.screematch.calculos.CalculadoraDeTempo;
import br.com.alura.screematch.calculos.FiltroRecomendacao;
import br.com.alura.screenmatch.modelos.Episodio;
import br.com.alura.screenmatch.modelos.Filme;
import br.com.alura.screenmatch.modelos.Serie;

import java.util.ArrayList;

public class Principal {
    public static void main(String[] args) {
        Filme meufilme = new Filme();
        meufilme.setNome("Sempre ao seu lado");
        meufilme.setAnoDeLancamento(2009);
        meufilme.setDuracaoEmMinutos(93);
        meufilme.setIncluidoNoPlano(true);
        System.out.println("Duração do Filme: "  + meufilme.getDuracaoEmMinutos());


        meufilme.exibeFichaTecnica();
        meufilme.avalia(9);
        meufilme.avalia(8);
        meufilme.avalia(10);

        System.out.println("Média de avaliações: " + meufilme);
        System.out.println(meufilme.pegaMedia());
        
        Serie lost = new Serie();
        lost.setNome("Cobra Kai");
        lost.setAnoDeLancamento(2018);
        lost.exibeFichaTecnica();
        lost.setTemporadas(6);
        lost.setEpisodiosPorTemporada(10);
        lost.setMinutosPorEpisodio(60);
        System.out.println("Duração para maratonar Cobra Kai: "  + lost.getDuracaoEmMinutos());

        Filme outrofilme = new Filme();
        outrofilme.setNome("Avatar");
        outrofilme.setAnoDeLancamento(2023);
        outrofilme.setDuracaoEmMinutos(100);
        outrofilme.setIncluidoNoPlano(true);
        System.out.println("Duração do Filme: "  + meufilme.getDuracaoEmMinutos());

        CalculadoraDeTempo calculadora = new CalculadoraDeTempo();
        calculadora.inclui(meufilme);
        calculadora.inclui(outrofilme);
        calculadora.inclui(lost);
        System.out.println(calculadora.getTempoTotal());

        FiltroRecomendacao filtro = new FiltroRecomendacao();
        filtro.filtra(meufilme);

        Episodio  episodio = new Episodio();
        episodio.setNumero(1);
        episodio.setSerie(lost);
        episodio.setTotalVisualizacoes(300);
        filtro.filtra(episodio);

        var filmeDoSamil = new Filme();
        filmeDoSamil.setDuracaoEmMinutos(136);
        filmeDoSamil.setNome("Hook,o retorno do Capitão Gancho");
        filmeDoSamil.setAnoDeLancamento(1991);
        filmeDoSamil.avalia(10);

        ArrayList<Filme> listaDeFilmes = new ArrayList<>();
        listaDeFilmes.add(filmeDoSamil);
        listaDeFilmes.add(meufilme);
        listaDeFilmes.add(outrofilme);
        System.out.println("Tamanho da lista: " + listaDeFilmes.size());
        System.out.println("Primeiro filme: " + listaDeFilmes.get(0).getNome());
        System.out.println(listaDeFilmes);
        System.out.println("toString do filme: " + listaDeFilmes.get(0).toString());


    }
}

// class Filme

package br.com.alura.screenmatch.modelos;

import br.com.alura.screematch.calculos.Clasificacao;

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

    public String getDiretor(String diretor) {
        return diretor;
    }

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

    @Override
    public int getClasificacao() {
        return (int) pegaMedia() / 2;
    }

    @Override
    public String toString() {
        return "Filme: " + this.getNome() + "(" + this.getAnoDeLancamento() + ")";
    }
}

1 resposta
solução!

Oii Samil.

Meus parabéns por finalizar a atividade e por compartilhar o seu código no fórum Alura, seu código servirá certamente de inspiração para os estudantes que o lerem.

Abraços e bons estudos!