Clase Principal
import java.time.LocalDate;
class Main {
public static void main(String[] args) {
// Crear un objeto Pelicula
Pelicula pelicula = new Pelicula("El Padrino", LocalDate.of(1972, 3, 24), 175, true);
// Mostrar la ficha técnica
pelicula.muestraFichaTecnica();
// Evaluar la película
pelicula.evalua(9.5);
pelicula.evalua(8.7);
pelicula.evalua(9.2);
// Calcular y mostrar la media de las evaluaciones
double mediaEvaluaciones = pelicula.calculaMedia();
System.out.println("La media de las evaluaciones es: " + mediaEvaluaciones);
}
}
Clase Pelicula
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Pelicula {
private final String nombre;
private final LocalDate fechaDeLanzamiento;
private final int duracionEnMinutos;
private final boolean incluidoEnElPlan;
private double sumaDeLasEvaluaciones;
private int totalDeLasEvaluaciones;
// Constructor
public Pelicula(String nombre, LocalDate fechaDeLanzamiento, int duracionEnMinutos, boolean incluidoEnElPlan) {
this.nombre = nombre;
this.fechaDeLanzamiento = fechaDeLanzamiento;
this.duracionEnMinutos = duracionEnMinutos;
this.incluidoEnElPlan = incluidoEnElPlan;
this.sumaDeLasEvaluaciones = 0;
this.totalDeLasEvaluaciones = 0;
}
public void muestraFichaTecnica() {
System.out.println("Nombre: " + nombre);
System.out.println("Fecha de lanzamiento: " + fechaDeLanzamiento.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")));
System.out.println("Duración: " + duracionEnMinutos + " minutos");
System.out.println("Incluido en el plan: " + (incluidoEnElPlan ? "Sí" : "No"));
}
public void evalua(double evaluacion) {
sumaDeLasEvaluaciones += evaluacion;
totalDeLasEvaluaciones++;
System.out.println("La película " + nombre + " fue evaluada con " + evaluacion + " puntos.");
}
public double calculaMedia() {
if (totalDeLasEvaluaciones == 0) {
return 0;
}
return sumaDeLasEvaluaciones / totalDeLasEvaluaciones;
}
}