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 aula: ArrayList y toString

¡Ahora está contigo! Realiza el mismo procedimiento que hice en aula, sobreescribiendo el método toString() en la clase Pelicula, y cambiando la clase Principal para crear una lista de películas.

En la clase Pelicula, necesitarás sobreescribir el método toString():

@Override public String toString() { return "Pelicula: " +this.getNombre() + " (" +this.getFechaDeLanzamiento() + ")"; }

Y en el método main de la clase Principal, crea un ArrayList, agrega las películas e imprime la lista:

public class Principal { public static void main(String[] args) { // código anterior omitido ArrayList listaDePeliculas = new ArrayList<>(); listaDePeliculas.add(favorito); listaDePeliculas.add(otro); System.out.println(“Tamaño de la lista: “ + listaDePeliculas.size()); System.out.println(“Primera película: “ + listaDePeliculas.get(0)); System.out.println(listaDePelículas); } }

SOLUCION :

tus indicaciones, incluyendo la sobreescritura del método toString() en la clase Pelicula y la creación del ArrayList en la clase Principal:

// Clase Pelicula (modificada) public class Pelicula { // ... (atributos y otros métodos)

@Override
public String toString() {
    return "Pelicula: " + this.getNombre() + " (" + this.getFechaDeLanzamiento() + ")"; 
}

}

// Clase Principal (modificada) public class Principal { public static void main(String[] args) { // ... (código anterior para crear las películas 'favorito' y 'otro')

    ArrayList<Pelicula> listaDePeliculas = new ArrayList<>(); // ArrayList para almacenar películas
    listaDePeliculas.add(favorito);
    listaDePeliculas.add(otro);

    System.out.println("Tamaño de la lista: " + listaDePeliculas.size());
    System.out.println("Primera película: " + listaDePeliculas.get(0)); 
    System.out.println(listaDePeliculas); 
}

}

Explicación:

Sobreescritura de toString():

En la clase Pelicula, hemos añadido la anotación @Override para indicar que estamos sobreescribiendo el método toString() heredado de la clase Object. El nuevo toString() devuelve una cadena formateada que incluye el nombre y la fecha de lanzamiento de la película. Creación del ArrayList:

En la clase Principal, hemos creado un ArrayList llamado listaDePeliculas para almacenar objetos de tipo Pelicula. Hemos añadido las películas favorito y otro a la lista usando el método add(). Impresión de la lista:

System.out.println(listaDePeliculas); imprime directamente la lista. Gracias a la sobreescritura de toString(), cada película se mostrará en el formato definido en ese método. Puntos importantes:

Asegúrate de que las clases Pelicula y Principal estén en el mismo paquete o de que hayas importado la clase Pelicula en Principal si están en paquetes diferentes. Recuerda que debes tener los métodos getNombre() y getFechaDeLanzamiento() definidos en la clase Pelicula para que el toString() funcione correctamente.

1 respuesta

Hola Frank, espero que estés bien

Gracias por compartir tu ejercício práctico con nosotros! Tu contribución es fundamental para el crecimiento de nuestra comunidad en Alura. Sigue comprometido y no dudes en regresar al foro en caso que tengas alguna duda o dificultad.

¡Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!