Classe Filme:
Classe Principal:
import br.com.alura.screenmatch.calculos.CalculadoraDeTempo;
import br.com.alura.screenmatch.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("O poderoso chefão");;
meuFilme.setAnoDeLancamento(1970);;
meuFilme.setDuracaoEmMinutos(180);
System.out.println("Duração do filme: " + meuFilme.getDuracaoEmMinutos());
meuFilme.exibeFichaTecnica();
meuFilme.avalia(8);
meuFilme.avalia(5);
meuFilme.avalia(10);
System.out.println("Total de avaliações: " + meuFilme.getTotalAvaliacoes());
System.out.println(meuFilme.obterMedia());
// meuFilme.somaDasAvaliacoes = 10;
// meuFilme.totalAvaliacoes = 1;
// System.out.println(meuFilme.obterMedia());
Serie lost = new Serie();
lost.setNome("Lost");
lost.setAnoDeLancamento(2000);
lost.exibeFichaTecnica();
lost.setTemporadas(10);
lost.setEpisodioPorTemporada(10);
lost.setMinutosPorEpisodio(50);
System.out.println("Duração para maratonar Lost: " + lost.getDuracaoEmMinutos());
Filme outroFilme = new Filme();
outroFilme.setNome("Avatar");;
outroFilme.setAnoDeLancamento(2023);;
outroFilme.setDuracaoEmMinutos(200);
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 filmeDoPaulo = new Filme();
filmeDoPaulo.setNome("DogVille");
filmeDoPaulo.setDuracaoEmMinutos(200);
filmeDoPaulo.setAnoDeLancamento(2003);
filmeDoPaulo.avalia(10);
ArrayList<Filme> listaDeFilmes = new ArrayList<>();
listaDeFilmes.add(filmeDoPaulo);
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); // Caso não tive-se o toString, iria imprimir isto: [br.com.alura.screenmatch.modelos.Filme@5fd0d5ae, br.com.alura.screenmatch.modelos.Filme@58372a00, br.com.alura.screenmatch.modelos.Filme@4dd8dc3]
System.out.println("toString do filme: " + listaDeFilmes.get(0).toString());
}
}