
NoSuchElementException en un while..
Publicado por Christian (6 intervenciones) el 25/05/2017 16:17:58
Hola a Todos, espero alguien pueda hecharme uncable conesto, soy novato en el tema y perdón si muchas líneas estan escritas de manera no convencional, además agradecería lo comentasen también.
Este es el código que tengo (parte de el)...
Es un menú , y el método verifica que se ingrese sí o sí una de las palabras del menú o no sale del bucle.
Mientras elijo cualquier opción, todo funciona correctamente, excepto cuando elijo salir, mi intención es que al elegir salir, la variable salir sea true, por lo que no ingrese al while ya que salir==false, no sería validado..
el print "ESTAMOS DENTRO DEL WHILE", lo he puesto para ver el error, y he comprobado que sigue entrando al while...
por lo que esta sentencia no está funcionando else if (opcioningresada.equalsIgnoreCase("Salir")){ opcioncorrecta=true; salir=true;} la asignación de true a la variable salir, no se hace...
Me podrían decir que estoy haciendo mal?
Este es el código que tengo (parte de el)...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
boolean salir=false
while (salir==false){
System.out.println("ESTAMOS DENTRO DEL WHILE");
Metodos.comprobarMenuOpcionPrincial(opcioningresada, opcion, salir)
..............
}
//METODO DE CONTROL DEL INGRESO POR TECLADO
public static String comprobarOpcionMenuPrincipal(String opcioningresada, Scanner opcion, boolean salir){
boolean opcioncorrecta=false;
while (!opcioncorrecta){//Control texto Crear
System.out.println("\nEsperando datos...");
opcioningresada = opcion.nextLine();
opcioningresada = opcioningresada.toString();
if (opcioningresada.equalsIgnoreCase("Crear")){opcioncorrecta=true;}
else if (opcioningresada.equalsIgnoreCase("Listar")){opcioncorrecta=true;}
else if (opcioningresada.equalsIgnoreCase("Eliminar")){opcioncorrecta=true;}
else if (opcioningresada.equalsIgnoreCase("Salir")){ opcioncorrecta=true; salir=true;}
else {
System.out.println("Ha escrito: "+opcioningresada);
System.out.println("Aunque no se tienen en cuenta mayúsculas o minúsculas");
System.out.println("debe teclear alguna de las opciones");
Metodos.mostrarMenuPrincipal();}
}//Fin del While
return opcioningresada;
}//Fin Bloque de control
Es un menú , y el método verifica que se ingrese sí o sí una de las palabras del menú o no sale del bucle.
Mientras elijo cualquier opción, todo funciona correctamente, excepto cuando elijo salir, mi intención es que al elegir salir, la variable salir sea true, por lo que no ingrese al while ya que salir==false, no sería validado..
el print "ESTAMOS DENTRO DEL WHILE", lo he puesto para ver el error, y he comprobado que sigue entrando al while...
por lo que esta sentencia no está funcionando else if (opcioningresada.equalsIgnoreCase("Salir")){ opcioncorrecta=true; salir=true;} la asignación de true a la variable salir, no se hace...
Me podrían decir que estoy haciendo mal?
Valora esta pregunta


0