1
resposta

Desafio

package br.com.alura.screenmatch.modelos;

public class Filme {

    private String nome;
    private int anoDeLancamento;
    private int duracaoEmMinutos;
    private boolean incluidoNoPlano;
    private double somaDasAvaliacoes;
    private int totalDeAvaliacoes;

    public void exibeFichaTecnica() {
        System.out.println(“Nome do filme: “ +nome);
        System.out.println(“Ano de lançamento: “ +anoDeLancamento);
        System.out.println(“Duração em minutos: “ +duracaoEmMinutos);
        System.out.println(“Incluído no plano: “ +incluidoNoPlano);
    }

    public void avalia(double nota) {
        somaDasAvaliacoes += nota;
        totalDeAvaliacoes++;
    }

    public double pegaMedia() {
        return somaDasAvaliacoes / totalDeAvaliacoes;
    }

    public String getNome() {
        return this.nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getAnoDeLancamento() {
        return this.anoDeLancamento;
    }

    public void setAnoDeLancamento(int anoDeLancamento) {
        this.anoDeLancamento = anoDeLancamento;
    }

    public boolean getIncluidoNoPlano() {
        return this.incluidoNoPlano;
    }

    public void setIncluidoNoPlano(boolean incluidoNoPlano) {
        this.incluidoNoPlano = incluidoNoPlano;
    }

    public int getDuracaoEmMinutos() {
        return this.duracaoEmMinutos;
    }

    public void setDuracaoEmMinutos(int duracaoEmMinutos) {
        this.duracaoEmMinutos = duracaoEmMinutos;
    }

    public int getTotalDeAvaliacoes() {
        return this.totalDeAvaliacoes;
    }

}

package br.com.alura.screenmatch.modelos;

public class Filme extends Titulo {

    private String diretor;

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

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

}

package br.com.alura.screenmatch.modelos;

public class Serie extends Titulo {

    private int temporadas;
    private boolean ativa;
    private int episodiosPorTemporada;
    private int minutosPorEpisodio;

    public int getTemporadas() {
        return temporadas;
    }

    public void setTemporadas(int temporadas) {
        this.temporadas = temporadas;
    }

    public boolean isAtiva() {
        return ativa;
    }

    public void setAtiva(boolean ativa) {
        this.ativa = ativa;
    }

    public int getEpisodiosPorTemporada() {
        return episodiosPorTemporada;
    }

    public void setEpisodiosPorTemporada(int episodiosPorTemporada) {
        this.episodiosPorTemporada = episodiosPorTemporada;
    }

    public int getMinutosPorEpisodio() {
        return minutosPorEpisodio;
    }

    public void setMinutosPorEpisodio(int minutosPorEpisodio) {
        this.minutosPorEpisodio = minutosPorEpisodio;
    }

}

@Override
public int getDuracaoEmMinutos() {
    return temporadas * episodiosPorTemporada * minutosPorEpisodio;
}

package br.com.alura.screenmatch.calculos;

public class CalculadoraDeTempo {

    private int tempoTotal;

    public void inclui(Titulo titulo) {
        tempoTotal += titulo.getDuracaoEmMinutos();
    }

    public int getTempoTotal() {
        return tempoTotal;
    }

}

Filme favorito = new Filme();
favorito.setNome(“The Matrix”);
favorito.setAnoDeLancamento(1999);
favorito.setDuracaoEmMinutos(135);
favorito.setIncluidoNoPlano(true);

Filme outro = new Filme();
outro.setNome(“John Wick”);
outro.setAnoDeLancamento(2014);
outro.setDuracaoEmMinutos(101);
outro.setIncluidoNoPlano(true);

Serie serie = new Serie();
serie.setNome(“La Casa de Papel”);
serie.setAnoDeLancamento(2017);
serie.setIncluidoNoPlano(true);
serie.setAtiva(true);
serie.setTemporadas(5);
serie.setEpisodiosPorTemporada(10);
serie.setMinutosPorEpisodio(45);

CalculadoraDeTempo calculadora = new CalculadoraDeTempo();
calculadora.inclui(favorito);
calculadora.inclui(outro);
calculadora.inclui(serie);

System.out.println(“Tempo total: “ +calculadora.getTempoTotal());
1 resposta

Oi, José, tudo bem?

Parabéns pelo resultado e obrigado por compartilhar no fórum e contribuir com a comunidade!

Continue mergulhando em tecnologia e se tiver dúvidas, conte com o fórum.

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software