Planteamiento del problema
Intenté guardar los episodios del anime "Dr. Stone"; sin embargo, desconozco por qué el método buscarSeriePorEpisodio()
no devuelve los episodios cuando se utiliza el método teclado.nextLine()
para solicitar el nombre de la serie o anime.
En una primera instancia, creí que se debía a un error de escritura por mi parte. Pero cuando imprimí en la consola el nombre de la serie, este apareció sin errores...
Analisis
Posteriormente, recordé que el método .next()
tiene un comportamiento similar. Así que opté por utilizarlo cuando se le pide al usuario que escriba el nombre de la serie que desea buscar:
System.out.print("Escribe el nombre de la serie que contiene los episodios: ");
var nombreSerie = teclado.next();
Si bien esto logró traerme los episodios, generaba un error después de insertarlos en la base de datos:
Caused by: java.util.InputMismatchException: null
Por lo tanto, revisé los demás métodos que se implementaron dentro de la clase Serie.java
y encontré el siguiente fragmento de código en el método menu()
cuando se le solicita al usuario que ingrese una opción:
var opcion = teclado.nextInt();
teclado.nextLine();
Solucion
Decidí implementar la parte inferior de dicho fragmento, donde se solicita el nombre de la serie, para guardar los episodios en el método BuscarSeriePorEpisodio()
:
System.out.print("Escribe el nombre de la serie que contiene los episodios: ");
var nombreSerie = teclado.next();
teclado.nextLine();
Esto me permitió traer y guardar los episodios de la serie con la que comenzó este problema.
Nota
Si bien el objetivo de mi contribución es ayudar a resolver cualquier problema similar, agradecería que alguien pudiera explicarme lo siguiente: ¿por qué al utilizar el método .nextLine()
no me devolvía los episodios de la serie, mientras que al usar el método .next()
para obtener los episodios, causaba errores si no declaraba posteriormente el método nextLine()
? `