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

Haga lo que hcimos creando el menu de screenmatch

public void muestraElMenu() {
var opcion = -1;
while (opcion != 0) {
var menu = """
1 - Buscar series
2 - Buscar episodios
3 - Mostrar series buscadas

            0 - Salir
            """;
    System.out.println(menu);
    opcion = teclado.nextInt();
    teclado.nextLine();

    switch (opcion) {
        case 1:
            buscarSerieWeb();
            break;
        case 2:
            buscarEpisodioPorSerie();
            break;
        case 3:
            mostrarSeriesBuscadas();
            break;
        case 0:
            System.out.println("Cerrando la aplicación...");
            break;
        default:
            System.out.println("Opción inválida");
    }
}

}

private DatosSerie getDatosSerie() {
System.out.println("Escribe el nombre de la serie que deseas buscar");
var nombreSerie = teclado.nextLine();
var json = consumoApi.obtenerDatos(URL_BASE + nombreSerie.replace(" ", "+") + API_KEY);
System.out.println(json);
DatosSerie datos = conversor.obtenerDatos(json, DatosSerie.class);
return datos;
}
private void buscarEpisodioPorSerie() {
DatosSerie datosSerie = getDatosSerie();
List temporadas = new ArrayList<>();

for (int i = 1; i <= datosSerie.totalTemporadas(); i++) {
    var json = consumoApi.obtenerDatos(URL_BASE + datosSerie.titulo().replace(" ", "+") + "&season=" + i + API_KEY);
    DatosTemporadas datosTemporada = conversor.obtenerDatos(json, DatosTemporadas.class);
    temporadas.add(datosTemporada);
}
temporadas.forEach(System.out::println);

}
private void buscarSerieWeb() {
DatosSerie datos = getDatosSerie();
datosSeries.add(datos);
System.out.println(datos);
}

private void mostrarSeriesBuscadas() {
List series = new ArrayList<>();
series = datosSeries.stream()
.map(d -> new Serie(d))
.collect(Collectors.toList());

series.stream()
        .sorted(Comparator.comparing(Serie::getGenero))
        .forEach(System.out::println);

}