Main
import com.valentina.screenmatch.modelos.Peliculas;
import com.valentina.screenmatch.modelos.Serie;
import com.valentina.sreenmatch.calculos.CalculadoraDeTiempo;
public class Main {
public static void main(String[] args) {
Peliculas miPelicula = new Peliculas();
miPelicula.setNombre("Encanto");
miPelicula.setFechaDeLanzamiento(2021);
miPelicula.setDuracionEnMinutos(120);
miPelicula.setIncluidoEnPlan(true);
miPelicula.muestraFichaTecnica();
miPelicula.evalua(10);
System.out.println(miPelicula.getTotalEvaluaciones());
System.out.println(miPelicula.calculaMedia());
com.valentina.screenmatch.modelos.Peliculas pelicula2 = new com.valentina.screenmatch.modelos.Peliculas();
pelicula2.setNombre("Suzume");
pelicula2.setFechaDeLanzamiento(2022);
pelicula2.setDuracionEnMinutos(122);
System.out.println("Nombre de la pelicula: " + pelicula2.getNombre());
Serie serie1 = new Serie();
serie1.setNombre("La casa del dragón");
serie1.setFechaDeLanzamiento(2022);
serie1.setTemporadas(1);
serie1.setMinutosPorEpisodio(50);
serie1.setEpisodiosPorTemporada(10);
serie1.muestraFichaTecnica();
System.out.println(serie1.getDuracionEnMinutos());
CalculadoraDeTiempo calculadora = new CalculadoraDeTiempo();
calculadora.incluye(miPelicula);
calculadora.incluye(serie1);
calculadora.incluye(pelicula2);
System.out.println("Tiempo total: " + calculadora.getTiempoTotal());
}
}
CalculadoraDeTiempo
package com.valentina.sreenmatch.calculos;
import com.valentina.screenmatch.modelos.Peliculas;
import com.valentina.screenmatch.modelos.Serie;
import com.valentina.screenmatch.modelos.Titulo;
public class CalculadoraDeTiempo {
private int tiempoTotal;
public int getTiempoTotal() {
return tiempoTotal;
}
public void incluye(Titulo titulo){
tiempoTotal += titulo.getDuracionEnMinutos();
}
}
Titulo
package com.valentina.screenmatch.modelos;
public class Titulo {
private String nombre;
private int fechaDeLanzamiento;
private int duracionEnMinutos;
private boolean incluidoEnPlan;
private double sumaDeLasEvaluaciones;
private int totalEvaluaciones;
public String getNombre() {
return nombre;
}
public int getFechaDeLanzamiento() {
return fechaDeLanzamiento;
}
public int getDuracionEnMinutos() {
return duracionEnMinutos;
}
public boolean isIncluidoEnPlan() {
return incluidoEnPlan;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setIncluidoEnPlan(boolean incluidoEnPlan) {
this.incluidoEnPlan = incluidoEnPlan;
}
public void setFechaDeLanzamiento(int fechaDeLanzamiento) {
this.fechaDeLanzamiento = fechaDeLanzamiento;
}
public void setDuracionEnMinutos(int duracionEnMinutos) {
this.duracionEnMinutos = duracionEnMinutos;
}
public int getTotalEvaluaciones(){
return totalEvaluaciones;
}
public void muestraFichaTecnica(){
System.out.println("Nombre de la pelicula: " + nombre);
System.out.println("Fecha de Lanzamiento: " + fechaDeLanzamiento);
System.out.println("Duracion en minutos:" + getDuracionEnMinutos());
}
public void evalua(double nota){
sumaDeLasEvaluaciones += nota;
totalEvaluaciones++;
}
public double calculaMedia(){
return sumaDeLasEvaluaciones/totalEvaluaciones;
}
}
Peliculas
package com.valentina.screenmatch.modelos;
public class Peliculas extends Titulo {
private String director;
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
}
Serie
package com.valentina.screenmatch.modelos;
public class Serie extends Titulo {
int temporadas;
int episodiosPorTemporada;
int minutosPorEpisodio;
@Override
public int getDuracionEnMinutos() {
return temporadas * episodiosPorTemporada * minutosPorEpisodio;
}
public int getTemporadas() {
return temporadas;
}
public void setTemporadas(int temporadas) {
this.temporadas = temporadas;
}
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;
}
}