Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

Haga lo que hicimos en aula: ArrayList y toString

import java.util.ArrayList;

public class Principal { public static void main(String[] args) { Pelicula favorito = new Pelicula("Interstellar", 2014); Pelicula otro = new Pelicula("El viaje de Chihiro", 2001);

    ArrayList<Pelicula> 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(listaDePeliculas);
}

}

import java.util.ArrayList;

public class Principal { public static void main(String[] args) { Pelicula favorito = new Pelicula("Interstellar", 2014); Pelicula otro = new Pelicula("El viaje de Chihiro", 2001);

    ArrayList<Pelicula> 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(listaDePeliculas);
}

}

2 respuestas

Hola Adriana, espero que estés bien

Parece que estás trabajando en una actividad donde necesitas sobrescribir el método toString() en la clase Pelicula para que la impresión de los objetos en la lista sea más legible. Vamos a ver cómo puedes hacerlo.

Primero, asegúrate de que tu clase Pelicula tenga el método toString() sobrescrito. Aquí tienes un ejemplo de cómo debería verse:

public class Pelicula {
    private String nombre;
    private int fechaDeLanzamiento;

    public Pelicula(String nombre, int fechaDeLanzamiento) {
        this.nombre = nombre;
        this.fechaDeLanzamiento = fechaDeLanzamiento;
    }

    public String getNombre() {
        return nombre;
    }

    public int getFechaDeLanzamiento() {
        return fechaDeLanzamiento;
    }

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

Con este método toString(), cada vez que imprimas un objeto Pelicula, se mostrará en el formato "Pelicula: [nombre] ([fechaDeLanzamiento])".

Luego, en tu clase Principal, cuando imprimas listaDePeliculas, se usará automáticamente este método toString() para cada objeto en la lista. Así que tu código en Principal debería funcionar correctamente tal como lo tienes:

import java.util.ArrayList;

public class Principal {
    public static void main(String[] args) {
        Pelicula favorito = new Pelicula("Interstellar", 2014);
        Pelicula otro = new Pelicula("El viaje de Chihiro", 2001);

        ArrayList<Pelicula> 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(listaDePeliculas);
    }
}

Con este ajuste, al imprimir listaDePeliculas, deberías ver una salida más clara y descriptiva para cada película en la lista.

Espero haber ayudado y buenos estudios!

excelente.