Vou deixar postado os códigos da forma que organizei com os cursos anteriores, espero que ajude quem precise para dar sequência neste curso.
Principal
// Importações
import br.com.alura.screematch.modelos.Episodio;
import br.com.alura.screematch.modelos.Filme;
import br.com.alura.screematch.modelos.Serie;
import br.com.alura.screenmatch.calculos.CalculadoraDeTempo;
import br.com.alura.screenmatch.calculos.FiltroRecomendacao;
public class Principal {
public static void main(String[] args) {
// Dados de Classes
Filme meuFilme = new Filme();
Filme outroFilme = new Filme();
Serie lost = new Serie();
// --------------------------------------
// Filmes
//// O poderoso chefão
meuFilme.setNome("O poderoso chefão");
meuFilme.setAnoDeLancamento(2000);
meuFilme.setDuracaoEmMinutos(180);
//// Avatar
outroFilme.setNome("Avatar");
outroFilme.setAnoDeLancamento(2023);
outroFilme.setDuracaoEmMinutos(200);
// Series
//// Lost
lost.setNome("Lost");
lost.setAnoDeLancamento(2004);
lost.setTemporadas(5);
lost.setEpisodiosPorTemporada(10);
lost.setMinutosPorEpisodio(50);
lost.setDuracaoEmMinutos(50);
// --------------------------------------
// Avaliações e notas
//// O poderoso chefão
meuFilme.avalia(8);
meuFilme.avalia(5);
meuFilme.avalia(10);
//// Serie Lost
lost.avalia(8);
lost.avalia(5);
lost.avalia(10);
// --------------------------------------
// Ficha técnica e Avaliações - Filmes
//// O poderoso chefão
System.out.println("*** Informações de Filmes ***");
meuFilme.exibeFichaTecnica();
System.out.println("\n*** Avaliações - O poderoso chefão ***");
System.out.println("Soma das avaliações: " + meuFilme.getSomaDasAvaliacao());
System.out.println("Total de avaliações: " + meuFilme.getTotalDeAvaliacoes());
System.out.println("A média das avaliações foi de: " + meuFilme.pegaMedia() + " pontos.");
// Ficha técnica e Avaliações - Series
//// Serie Lost
System.out.println("\n*** Informações de Series ***");
lost.exibeFichaTecnica();
System.out.println("Duração para maratonar Lost: " + lost.getDuracaoEmMinutos() + " minutos");
System.out.println("\n*** Avaliações - Serie Lost ***");
System.out.println("Soma das avaliações: " + lost.getSomaDasAvaliacao());
System.out.println("Total de avaliações: " + lost.getTotalDeAvaliacoes());
System.out.println("A média das avaliações foi de: " + lost.pegaMedia() + " pontos.");
// Calculadora
CalculadoraDeTempo calculadora = new CalculadoraDeTempo();
calculadora. inclui(meuFilme);
calculadora.inclui(outroFilme);
calculadora.inclui(lost);
System.out.println("\n*** Tempo total dos filmes e séries ***");
System.out.println("Tempo total dos filmes: " + calculadora.getTempoTotal() + " Minutos.");
// Filtro de Recomendação
FiltroRecomendacao filtro = new FiltroRecomendacao();
System.out.println("\n*** Recomendados ***");
Episodio episodio = new Episodio();
episodio.setNumero(1);
episodio.setSerie(lost);
episodio.setTotalVisualizacoes(300);
filtro.filtra(episodio);
}
}