package com.entronomia.aplicaciones.calculos;
public interface Clasificacion {
int getClasificacion();
}
package com.entronomia.aplicaciones.modelos;
import com.entronomia.aplicaciones.calculos.Clasificacion;
public class Pelicula extends Titulo implements Clasificacion {
private String director;
public String getDirector() {
return director;
}
public void setDirector(String director) {
this.director = director;
}
@Override
public int getClasificacion() {
return (int) (calculaMediaDeLasEvaluaciones() / 2);
}
}
package com.entronomia.aplicaciones.modelos;
import com.entronomia.aplicaciones.calculos.Clasificacion;
public class Episodio implements Clasificacion {
private int numero;
private String nombre;
private Serie serie;
private int numeroDeVisualizaciones;
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public Serie getSerie() {
return serie;
}
public void setSerie(Serie serie) {
this.serie = serie;
}
public int getNumeroDeVisualizaciones() {
return numeroDeVisualizaciones;
}
public void setNumeroDeVisualizaciones(int numeroDeVisualizaciones) {
this.numeroDeVisualizaciones = numeroDeVisualizaciones;
}
@Override
public int getClasificacion() {
if (numeroDeVisualizaciones > 100) {
return 4;
} else {
return 2;
}
}
}
package com.entronomia.aplicaciones.calculos;
public class Recomendacion {
public void filtra(Clasificacion clasificacion) {
if (clasificacion.getClasificacion() >= 4) {
System.out.println("Es muy popular en este momento");
} else if (clasificacion.getClasificacion() >=2 && clasificacion.getClasificacion() < 4) {
System.out.println("Tiene una popularidad aceptable por el momento");
} else {
System.out.println("No es muy popular en este momento");
}
}
}
package com.entronomia.aplicaciones.calculos;
import com.entronomia.aplicaciones.modelos.Titulo;
public class CalculadoraDeTiempo {
private int tiempoEnMinutos = 0;
public int getTiempoEnMinutos() {
return tiempoEnMinutos;
}
public void tiempoAdicionado(Titulo titulo) {
tiempoEnMinutos = tiempoEnMinutos + titulo.getDuracionEnMinutos();
}
}
import com.entronomia.aplicaciones.calculos.Recomendacion;
import com.entronomia.aplicaciones.modelos.Episodio;
import com.entronomia.aplicaciones.modelos.Pelicula;
import com.entronomia.aplicaciones.modelos.Serie;
import com.entronomia.aplicaciones.calculos.CalculadoraDeTiempo;
public class Inventario {
public static void main(String[] args) {
Pelicula peliculaI = new Pelicula();
peliculaI.setNombre("2012");
peliculaI.setFechaDeLanzamiento(2009);
peliculaI.setDuracionEnMinutos(158);
peliculaI.setIncluidaEnElPlan(true);
peliculaI.evaluaPelicula(8.4);
peliculaI.evaluaPelicula(9.0);
peliculaI.evaluaPelicula(8.1);
peliculaI.evaluaPelicula(7.9);
peliculaI.calculaMediaDeLasEvaluaciones();
peliculaI.imprimeDatos();
System.out.println("la medía de las evaluaciones de la película " + peliculaI.getNombre() + " es " + peliculaI.getMediaDeLasEvaluaciones());
Serie serieI = new Serie();
serieI.setNombre("La reina de Indias y el conquistador");
serieI.setFechaDeLanzamiento(2020);
serieI.setTemporadas(1);
serieI.setEpisodiosPorTemporada(60);
serieI.setMinutosPorEpisodio(50);
serieI.imprimeDatos();
System.out.println("La serie " + serieI.getNombre() + " tiene una duración de " + serieI.getDuracionEnMinutos() + " minutos");
CalculadoraDeTiempo calculadoraDeTiempo = new CalculadoraDeTiempo();
calculadoraDeTiempo.tiempoAdicionado(peliculaI);
calculadoraDeTiempo.tiempoAdicionado(serieI);
System.out.println("El tiempo para ver todas estas peliculas y series es " + calculadoraDeTiempo.getTiempoEnMinutos() + " minutos");
Recomendacion recomendacionI = new Recomendacion();
recomendacionI.filtra(peliculaI);
Episodio episodioI = new Episodio();
episodioI.setNumero(1);
episodioI.setNombre("Episodio Uno");
episodioI.setSerie(serieI);
episodioI.setNumeroDeVisualizaciones(90);
recomendacionI.filtra(episodioI);
}
}