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

Record

package co.ancabu.test;

public record TitleOmdb(String title,String year, String runtime) {

}

Title

package co.ancabu.test;

import com.google.gson.annotations.SerializedName;

public class Title implements Comparable<Title>{
    @SerializedName("Title")
    private String nameFilm;
    @SerializedName("Year")
    private int yearlaunch;
//    @SerializedName("Runtime")
    private int minutesDuration;
    private boolean includePlan;
    private double sumEvaluation;
    private int numEvaluations;

    public  Title(String nameFilm,int yearlaunch){
        this.nameFilm=nameFilm;
        this.yearlaunch=yearlaunch;
    }
    public Title(TitleOmdb titulomdb){
        this.nameFilm=titulomdb.title();
        this.yearlaunch=Integer.valueOf(titulomdb.year());
        this.minutesDuration=Integer.valueOf(titulomdb.runtime().substring(0,2));
    }
    public void setNameFilm(String nameFilm) {
        this.nameFilm = nameFilm;
    }

    public void setYearlaunch(int yearlaunch) {
        this.yearlaunch = yearlaunch;
    }

    public String getnameFilm() {
        return nameFilm;
    }

    public int getYearlaunch() {
        return yearlaunch;
    }

    public int getMinutesDuration() {
        return minutesDuration;
    }

    public boolean getIncludePlan() {
        return includePlan;
    }

    public void setMinutesDuration(int minutesDuration) {
        this.minutesDuration = minutesDuration;
    }

    public void setIncludePlan(boolean includePlan) {
        this.includePlan = includePlan;
    }

    public int getNumEvaluations(){
        return  numEvaluations;
    }
    public void showFeauturesMovies(){
        System.out.println("""
                
                """);
        System.out.println("Nombre: "+getnameFilm());
        System.out.println("Fecha de lanzamiento: "+getYearlaunch());
        System.out.println("Duracion en Minutos: "+getMinutesDuration());
        System.out.println("Incluye Plan: "+getIncludePlan());
        System.out.println("Evaluacion: "+getNumEvaluations());
        System.out.println("Media: "+calMedia());
    }
    public void validation(double note){
        sumEvaluation+=note;
        numEvaluations++;
    }
    public double calMedia(){
        return sumEvaluation/numEvaluations;
    }

    @Override
    public int compareTo(Title otroTitulo) {
        return getnameFilm().compareTo(otroTitulo.getnameFilm());
    }

    @Override
    public String toString() {
        return "Nombre= " + this.nameFilm
                +", Fecha de Lanzamiento= "
                + this.yearlaunch
                +" Duracion(minutos)= "+this.minutesDuration;

    }
}

main

ackage principal;

import co.ancabu.test.Title;
import co.ancabu.test.TitleOmdb;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Scanner;

public class MainSearch {
    public static void main(String[] args) throws IOException, InterruptedException {
        Scanner teclado=new Scanner(System.in);

        System.out.println("Escriba el nombre de la pelicula");
        String pelicula=teclado.next();
        HttpClient client=HttpClient.newHttpClient();
        HttpRequest request=HttpRequest.newBuilder().uri(URI.create("http://www.omdbapi.com/?apikey=5b7d7608&t="+pelicula)).build();
        HttpResponse<String> response=client.send(request,HttpResponse.BodyHandlers.ofString());

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


        Gson gson=new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE).create();
        TitleOmdb myTitle=gson.fromJson(json,TitleOmdb.class);
        System.out.println(myTitle);
        Title myTitles=new Title(myTitle);
        System.out.println(myTitles);

    }
}
1 respuesta

Hola Estudiante, espero que estés bien

Gracias por compartir tu ejercício práctico con nosotros, en este momento no veo puntos de mejora! 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.

¡Continúa con sus estudios y éxito en su carrera!

¡Abrazos y buenos estudios!

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