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

08 Haga lo que hicimos en aula

package com.alura.screenmatch.modelos;

public record TituloOmdb(String title, String year, String runtime) { }


    String json = response.body();
    System.out.println(json);

    Gson gson =  new GsonBuilder()
            .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
            .create();
    TituloOmdb miTituloOmdb = gson.fromJson(json, TituloOmdb.class);
    System.out.println(miTituloOmdb);
    Titulo miTitulo = new Titulo(miTituloOmdb);
    System.out.println(miTitulo);
}


-------

package com.alura.screenmatch.modelos; import com.google.gson.annotations.SerializedName;

public class Titulo implements Comparable{ @SerializedName("Title") private String nombre; @SerializedName("Year") private int fechaDeLanzamiento; private boolean incluidoEnElPlan; private double sumaDeLasEvaluaciones; private int totalDeEvaluaciones; private int duracionEnMinutos;

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

public Titulo(TituloOmdb miTituloOmdb) {
    this.nombre = miTituloOmdb.title();
    this.fechaDeLanzamiento = Integer.valueOf(miTituloOmdb.year()) ;
    this.duracionEnMinutos = Integer.valueOf(miTituloOmdb.runtime().substring(0,2));
}

public String getNombre() {
    return nombre;
}

public int getFechaDeLanzamiento() {
    return fechaDeLanzamiento;
}

public boolean isIncluidoEnElPlan() {
    return incluidoEnElPlan;
}

public int getDuracionEnMinutos() {
    return duracionEnMinutos;
}

public int getTotalDeEvaluaciones() {
    return totalDeEvaluaciones;
}

public void setNombre(String nombre) {
    this.nombre = nombre;
}

public void setFechaDeLanzamiento(int fechaDeLanzamiento) {
    this.fechaDeLanzamiento = fechaDeLanzamiento;
}

public void setIncluidoEnElPlan(boolean incluidoEnElPlan) {
    this.incluidoEnElPlan = incluidoEnElPlan;
}

public void setDuracionEnMinutos(int duracionEnMinutos) {
    this.duracionEnMinutos = duracionEnMinutos;
}

public void muestraFichaTecnica(){
    System.out.println("Nombre de la película: " + nombre);
    System.out.println("Año de lanzamiento: " + fechaDeLanzamiento);
}

public void evalua(double nota){
    sumaDeLasEvaluaciones += nota;
    totalDeEvaluaciones++;
}

public double calculaMediaEvaluaciones(){
    return sumaDeLasEvaluaciones / totalDeEvaluaciones;
}

@Override
public int compareTo(Titulo otroTitulo) {
    return this.getNombre().compareTo(otroTitulo.getNombre());
}

@Override
public String toString() {
    return  "nombre='" + nombre + '\'' +
            ", fechaDeLanzamiento=" + fechaDeLanzamiento
            + ", duracion="+duracionEnMinutos;
}

}

1 respuesta

Hola Gustavo, espero que estés bien

Considero su código muy bueno, en este momento no veo puntos de mejora. ¡Continúa con sus estudios y éxito en su carrera!

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!