package com.aluracursos.screenmatch.modelos;
public class Titulo {
private String nombre;
private int fechaLanzamiento;
private int duracionEnMinutos;
private boolean incluidoEnElPlan;
private double sumaDeLasEvaluaciones;
private int totalDeLasEvaluaciones;
public String getNombre() {
return nombre;
}
public int getFechaLanzamiento() {
return fechaLanzamiento;
}
public int getDuracionEnMinutos() {
return duracionEnMinutos;
}
public boolean isIncluidoEnElPlan() {
return incluidoEnElPlan;
}
public void setName(String nombre){
this.nombre = nombre;
}
public void setFechaLanzamiento(int fechaLanzamiento) {
this.fechaLanzamiento = fechaLanzamiento;
}
public void setDuracionEnMinutos(int duracionEnMinutos) {
this.duracionEnMinutos = duracionEnMinutos;
}
public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
this.incluidoEnElPlan = incluidoEnElPlan;
}
public int getTotalDeLasEvaluaciones(){
return totalDeLasEvaluaciones;
}
public void muestraFichaTecnica(){
System.out.println("Mi película es:"+nombre);
System.out.println("Su fecha de lanzamiento es:"+fechaLanzamiento);
System.out.println("Duración en minutos:"+getDuracionEnMinutos());
}
public void evalua(double nota){
sumaDeLasEvaluaciones += nota;
totalDeLasEvaluaciones ++;
}
public double calculaMedia(){
return sumaDeLasEvaluaciones/totalDeLasEvaluaciones;
}
}
package com.aluracursos.screenmatch.modelos;
public class Serie extends Titulo{
int temporadas;
int episodioPorTemporada;
int minutoPorEpisodio;
@Override
public int getDuracionEnMinutos(){
return temporadas*episodioPorTemporada*minutoPorEpisodio;
}
public int getTemporada() {
return temporadas;
}
public void setTemporada(int temporada) {
this.temporadas = temporada;
}
public int getEpisodioPorTemporada() {
return episodioPorTemporada;
}
public void setEpisodiosPorTemporada(int episodioPorTemporada) {
this.episodioPorTemporada = episodioPorTemporada;
}
public int getMinutoPorEpisodio() {
return minutoPorEpisodio;
}
public void setMinutosPorEpisodio(int minutoPorEpisodio) {
this.minutoPorEpisodio = minutoPorEpisodio;
}
}
mport com.aluracursos.screenmatch.modelos.Pelicula; import com.aluracursos.screenmatch.modelos.Serie; import com.aluracursos.screenmatch.calculos.CalculadoraDeTiempo;
public class Principal { public static void main(String[] args) { Pelicula miPelicula = new Pelicula(); miPelicula.setName("Encanto"); miPelicula.setFechaLanzamiento(2021); miPelicula.setDuracionEnMinutos(120); miPelicula.setIncluidoEnElPlan(true);
miPelicula.muestraFichaTecnica();
miPelicula.evalua(10);
miPelicula.evalua(10);
miPelicula.evalua(7.8);
System.out.println(miPelicula.getTotalDeLasEvaluaciones());
System.out.println(miPelicula.calculaMedia());
Serie casaDragon = new Serie();
casaDragon.setName("La casa del Dragón");
casaDragon.setFechaLanzamiento(2022);
casaDragon.setTemporada(1);
casaDragon.setMinutosPorEpisodio(50);
casaDragon.setEpisodiosPorTemporada(10);
casaDragon.muestraFichaTecnica();
System.out.println(casaDragon.getDuracionEnMinutos());
Pelicula otraPelicula = new Pelicula();
otraPelicula.setName("Matrix");
otraPelicula.setFechaLanzamiento(1998);
otraPelicula.setDuracionEnMinutos(180);
CalculadoraDeTiempo calculadora = new CalculadoraDeTiempo();
calculadora.incluye(miPelicula);
calculadora.incluye(casaDragon);
calculadora.incluye(otraPelicula);
System.out.println("Tiempo necesario para ver tus títulos favoritos estas vacaciones:"+calculadora.getTiempoTotal()+" minutos");
}
}
package com.aluracursos.screenmatch.calculos; import com.aluracursos.screenmatch.modelos.Pelicula; import com.aluracursos.screenmatch.modelos.Serie; import com.aluracursos.screenmatch.modelos.Titulo;
public class CalculadoraDeTiempo {
private int tiempoTotal;
public int getTiempoTotal() {
return tiempoTotal;
}
public void incluye(Titulo titulo){
this.tiempoTotal += titulo.getDuracionEnMinutos();
}
}