package co.ancabu.test;
public class Title implements Comparable<Title>{
private String nameFilm;
private int yearlaunch;
private int minutesDuration;
private boolean includePlan;
private double sumEvaluation;
private int numEvaluations;
public Title(String nameFilm,int yearlaunch){
this.nameFilm=nameFilm;
this.yearlaunch=yearlaunch;
}
public void setNameFilm(String nameFilm) {
this.nameFilm = nameFilm;
}
public void setYearlaunch(int yearlaunch) {
this.yearlaunch = yearlaunch;
}
public String getnameFilm() {
return nameFilm;
}
public int getYearlaunch() {
return yearlaunch;
}
public int getMinutesDuration() {
return minutesDuration;
}
public boolean getIncludePlan() {
return includePlan;
}
public void setMinutesDuration(int minutesDuration) {
this.minutesDuration = minutesDuration;
}
public void setIncludePlan(boolean includePlan) {
this.includePlan = includePlan;
}
public int getNumEvaluations(){
return numEvaluations;
}
public void showFeauturesMovies(){
System.out.println("""
""");
System.out.println("Nombre: "+getnameFilm());
System.out.println("Fecha de lanzamiento: "+getYearlaunch());
System.out.println("Duracion en Minutos: "+getMinutesDuration());
System.out.println("Incluye Plan: "+getIncludePlan());
System.out.println("Evaluacion: "+getNumEvaluations());
System.out.println("Media: "+calMedia());
}
public void validation(double note){
sumEvaluation+=note;
numEvaluations++;
}
public double calMedia(){
return sumEvaluation/numEvaluations;
}
@Override
public int compareTo(Title otroTitulo) {
return getnameFilm().compareTo(otroTitulo.getnameFilm());
}
}
package principal;
import co.ancabu.calculo.filtroPeliculaAno;
import co.ancabu.test.Series;
import co.ancabu.test.Title;
import co.ancabu.test.movie;
import java.util.ArrayList;
import java.util.Collections;
public class main_arrays {
public static void main(String[] args) {
movie myMovie=new movie("Terminator",2018,"Leonardo Dicaprio");
myMovie.validation(9);
Series seriesObjet=new Series("Vikingos",2016,1,6,50);
seriesObjet.validation(6);
movie yourMovie=new movie("El caballero Oscuro",2005,"Leonardo Dicaprio");
yourMovie.validation(8);
var newMovie=new movie("Atenea",2024,"");
newMovie.validation(8);
ArrayList<Title> lista=new ArrayList<>();
lista.add(myMovie);
lista.add(yourMovie);
lista.add(newMovie);
lista.add(seriesObjet);
for(Title item:lista) {
if(item instanceof movie movie1){
System.out.println(item);
// movie movie1=(movie) item;
System.out.println(movie1.getClasificacion());
}
}
// lista.forEach(item-> System.out.println(item));
// lista.forEach(System.out::println);
Collections.sort(lista);
System.out.println(lista);
package co.ancabu.test;
public class Series extends Title{
private int season;
private int episodeSeason;
private int minutesEpisodes;
public Series(String nameFilm, int yearFilm, int season,int episodeSeason, int minutesEpisodes){
super(nameFilm,yearFilm);
this.season=season;
this.episodeSeason=season;
this.minutesEpisodes=minutesEpisodes;
}
@Override
public int getMinutesDuration() {
return season*episodeSeason*minutesEpisodes;
}
public int getSeason() {
return season;
}
public void setSeason(int season) {
this.season = season;
}
public int getEpisodeSeason() {
return episodeSeason;
}
public void setEpisodeSeason(int episodeSeason) {
this.episodeSeason = episodeSeason;
}
public int getMinutesEpisodes() {
return minutesEpisodes;
}
public void setMinutesEpisodes(int minutesEpisodes) {
this.minutesEpisodes = minutesEpisodes;
}
@Override
public String toString() {
return "String "+this.getnameFilm()+" ("+this.getYearlaunch()+")";
}
}