en el desafio extra del curso aparecion una variable llamada tituloLibro que me genero errores al correr mi aplicacion pero que en el curso no.
en el desafio extra del curso aparecion una variable llamada tituloLibro que me genero errores al correr mi aplicacion pero que en el curso no.
Me aparece algo igual, pero le puse esto: datos.libros() enlugar datos.resultados()
System.out.println("Top 10 libros más descargados");
datos.libros().stream()
.sorted(Comparator.comparing(DatosLibros::numeroDeDescargas).reversed())
.limit(10)
.map(l -> l.titulo().toUpperCase())
.forEach(System.out::println);
//*************************************************************************************
System.out.println("Ingresa el nombre del libro");
var tituloLibro = teclado.nextLine();
String encodedTitulo = URLEncoder.encode(tituloLibro, "UTF-8");
json = consumoApi.odtenerDatos(URL_BASE + "?search=" + encodedTitulo);
var datosBusqueda = conversor.obtenerDatos(json, Datos.class);
Optional<DatosLibros> libroBuscado = datosBusqueda.libros().stream()
.filter(l -> l.titulo().toUpperCase().contains(tituloLibro.toUpperCase()))
.findFirst();
if (libroBuscado.isPresent()) {
System.out.println("Libro encontrado");
System.out.println(libroBuscado.get());
} else {
System.out.println("Libro no encontrado");
}
//*************************************************************************************************
//**** estadisticas *****************************************************************************
DoubleSummaryStatistics est = datos.libros().stream()
.filter(d -> d.numeroDeDescargas() > 0)
.collect(Collectors.summarizingDouble(DatosLibros::numeroDeDescargas));
System.out.println("Cantidad media de descargas: "+ est.getAverage());
System.out.println("Cantidad máxima de descargas: "+ est.getMax());
System.out.println("Cantidad minima de descargas: "+ est.getMin());
System.out.println("Cantidad de registros evaluados: "+ est.getSum());
}