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

Tambien error en temporadas y evaluacion opcion 7

las opciones hasta la 6 funcionan perfecto.

tengo en SerieRepository.java


public interface SerieRepository extends JpaRepository<Serie, Long> {
     Optional<Serie> findByTituloContainsIgnoreCase(String nombreSerie);
     List<Serie> findTop5ByOrderByEvaluacionDesc();

      List<Serie> findByGenero(Categoria categoria);

   @Query("SELECT s FROM Serie s WHERE s.totalTemporadas <= :totalTemporadas AND s.evaluacion >= :evaluacion")
   List<Serie> seriesPorTemporadaYEvaluacion(int totalTemporadas, Double evaluacion);


   //Optional<Serie> findByGenero(Categoria categoria); // probe y no funciono cuando no existe categoria
   // busca una cantidad de temporadas >= #dado y una evaluacion>=numero dado, en resumen filtrar series
   //List<Serie> findByTotalTemporadasLessThanEqualAndEvaluacionGreaterThanEqual(int totalTemporadas, Double evaluacion);
   // qUEIRES NATIVAS
   //@Query(value="SELECT * FROM series WHERE series.total_temporadas <= 6 AND series.evaluacion >=7.5", nativeQuery=true)
   // JPAL

En en programa principal esta esta rutina.

private void filtrarSeriesPorTemporadayEvaluacion() {
      System.out.print("Filtar series, con cuantas temporadas? : ");
      var totalTemporadas = teclado.nextInt();
      teclado.nextLine();
      System.out.print("Con evaluacion a partir de cual valor : ");
      var evaluacion = teclado.nextDouble();
      teclado.nextLine();
      // findByTotalTemporadasLessThanEqualAndEvaluacionGreaterThanEqual(numTemp, evalua)
      List<Serie> filtroSeries= repositorio.seriesPorTemporadaYEvaluacion(totalTemporadas,evaluacion);
      System.out.println("** series filtradas **");
      filtroSeries.forEach(s->
            System.out.println(s.getTitulo()+" - Evaluación "+s.getEvaluacion()));
   }

esta es la captura de datos. Ya mire que el equipo en configuración regional, números, manejara el punto para decimales. ESTE ES EL ERROR QUE SALE. en la consola.

Digite Opcion [1..7, 0=salir]-->7
Filtar series, con cuantas temporadas? : 5
Con evaluacion a partir de cual valor : 7.5
2025-05-31T17:38:51.460-05:00  INFO 6668 --- [           main] .s.b.a.l.ConditionEvaluationReportLogger : 

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2025-05-31T17:38:51.527-05:00 ERROR 6668 --- [           main] o.s.boot.SpringApplication               : Application run failed

java.lang.IllegalStateException: Failed to execute CommandLineRunner
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:789) ~[spring-boot-3.2.0.jar:3.2.0]
    at org.springframework.boot.SpringApplication.lambda$callRunners$3(SpringApplication.java:770) ~[spring-boot-3.2.0.jar:3.2.0]
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186) ~[na:na]
    at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:571) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) ~[na:na]
    at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153) ~[na:na]
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176) ~[na:na]
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265) ~[na:na]
    at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:636) ~[na:na]
    at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:765) ~[spring-boot-3.2.0.jar:3.2.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:330) ~[spring-boot-3.2.0.jar:3.2.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1342) ~[spring-boot-3.2.0.jar:3.2.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1331) ~[spring-boot-3.2.0.jar:3.2.0]
    at com.aluracursos.screenmatch.ScreenmatchApplication.main(ScreenmatchApplication.java:17) ~[classes/:na]
Caused by: java.util.InputMismatchException: null
    at java.base/java.util.Scanner.throwFor(Scanner.java:964) ~[na:na]
    at java.base/java.util.Scanner.next(Scanner.java:1619) ~[na:na]
    at java.base/java.util.Scanner.nextDouble(Scanner.java:2590) ~[na:na]
    at com.aluracursos.screenmatch.principal.Principal.filtrarSeriesPorTemporadaYEvaluacion(Principal.java:177) ~[classes/:na]
    at com.aluracursos.screenmatch.principal.Principal.muestraElMenu(Principal.java:67) ~[classes/:na]
    at com.aluracursos.screenmatch.ScreenmatchApplication.run(ScreenmatchApplication.java:23) ~[classes/:na]
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:786) ~[spring-boot-3.2.0.jar:3.2.0]
    ... 14 common frames omitted

gracias, si hay alguna idea, por favor enviarla. A veces se queda en estos errores y no avanzo nada en el curso.