Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Haga lo que hicimos en el aula

public class PrincipalConListas {
    public static void main(String[] args) {
        Pelicula miPelicula = new Pelicula("Encanto", 2015);
        miPelicula.evalua(8.7);
        Serie lost = new Serie("Lost", 2000);
        lost.evalua(9.5);
        Pelicula otraPelicula = new Pelicula("Avatar", 2021);
        otraPelicula.evalua(7.1);
        Pelicula peliculaDeBruno = new Pelicula("Señor de los anillos" , 2022);
        peliculaDeBruno.evalua(10);
        

        ArrayList<Titulo> listaDeTitulos = new ArrayList<>();
        listaDeTitulos.add(miPelicula);
        listaDeTitulos.add(otraPelicula);
        listaDeTitulos.add(peliculaDeBruno);
        listaDeTitulos.add(lost);

        for(Titulo item: listaDeTitulos){
            if (item instanceof  Pelicula pelicula && pelicula.getClasificacion()> 3 ) {
                System.out.println("La clasificación de : " +pelicula.getNombre() + " es de : " + pelicula.getClasificacion());
            }
        }
    }

}
1 respuesta

Hola Felipe, espero que estés bien

Parece que estás trabajando en un ejercicio que implica el uso de listas y colecciones en Java, específicamente usando ArrayList y el operador instanceof para verificar el tipo de objeto antes de realizar un casting. Tu código se ve bastante bien, pero vamos a repasar los pasos para asegurarnos de que todo esté en orden.

  1. Declaración de Clases y Objetos: Asegúrate de que las clases Pelicula y Serie están correctamente definidas, y que ambas extienden de una clase padre Titulo que contiene el método getNombre(). Además, Pelicula debería tener el método getClasificacion().

  2. Uso del ArrayList: Estás añadiendo objetos de tipo Pelicula y Serie a un ArrayList de tipo Titulo. Esto es correcto, ya que Pelicula y Serie son subtipos de Titulo.

  3. Uso de instanceof y Casting: En el bucle foreach, estás usando instanceof para verificar si el objeto es una instancia de Pelicula antes de realizar el casting. Esto es una buena práctica para evitar errores de tiempo de ejecución.

  4. Impresión de Resultados: Estás imprimiendo el nombre y la clasificación de las películas que tienen una clasificación mayor a 3. Asegúrate de que el método getClasificacion() está correctamente implementado en la clase Pelicula.

Espero que esto te ayude a entender mejor cómo trabajar con listas y colecciones en Java. ¡Bons estudios!