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

Practica de aula

import com.aluracursos.screenmatch.modelos.Pelicula;
import com.aluracursos.screenmatch.modelos.Serie;
import com.aluracursos.screenmatch.modelos.Titulo;

import java.util.ArrayList;

public class principalConListas {

public static void main(String[] args) {
    Pelicula miPelicula = new Pelicula("Encanto", 1999);
    miPelicula.evaluar(9);
    Pelicula otraPelicula= new Pelicula("Duro de Matar",1995);
    otraPelicula.evaluar(7);
    Pelicula  peliculaLili = new Pelicula("Harry Potter", 2000);
    peliculaLili.evaluar(8);
    Serie casaDragon = new Serie("Casa del dragon", 2022);
    Serie lost = new Serie("Lost", 2000);

    ArrayList<Titulo> listas= new ArrayList<>();
    listas.add(miPelicula);
    listas.add(otraPelicula);
    listas.add(peliculaLili);
    listas.add(lost);
    listas.add(casaDragon);

    for (Titulo item:listas){
        System.out.println(item.getNombre());

        if (item instanceof Pelicula pelicula && pelicula.getClasificacion()>3) {
            System.out.println(pelicula.getClasificacion());
        }

    }
}

}

1 respuesta

Hola Liliana,

Tu código parece estar bien estructurado y sigue el mismo patrón que el ejemplo de la práctica. Estás creando instancias de Pelicula y Serie, las añades a una lista de tipo ArrayList<Titulo>, y luego recorres esa lista usando un bucle foreach. También estás utilizando instanceof para verificar si el elemento es una instancia de Pelicula antes de hacer el casting, lo cual es correcto.

Aquí hay algunos puntos que podrías revisar para asegurarte de que todo funcione correctamente:

  1. Constructores: Asegúrate de que las clases Pelicula y Serie tengan constructores que acepten los parámetros que estás pasando (nombre y año).

  2. Métodos evaluar y getClasificacion: Verifica que el método evaluar esté correctamente implementado en la clase Pelicula y que getClasificacion devuelva el valor esperado.

  3. Método getNombre: Asegúrate de que el método getNombre esté implementado en la clase Titulo o sus subclases, y que devuelva el nombre correcto del título.

Si todo lo anterior está en orden, tu código debería funcionar como se espera. Si encuentras algún error específico al compilar o ejecutar, revisa los mensajes de error para obtener más pistas sobre lo que podría estar fallando.

Espero que esto te ayude y que puedas seguir avanzando en tus estudios.