Problema al utilizar la función Scanner
Publicado por Jose_Romero (10 intervenciones) el 11/11/2018 13:19:08
Buenas tardes, estoy teniendo un pequeño problema al usar el Scanner. Estoy probando lo siguiente: Tengo un menú que dependiendo del valor introducido por pantalla a través del Scanner hace una cosa u otra, pero mi problema es al llegar al 4. Al pulsar la tecla 4 de mi menú quiero escribir un ID (entero) y un nombre (String) por pantalla y aquí es donde llega mi problema. Yo puedo escribir mi ID, como un entero, pero al mostrarme el mensaje de escribir el nombre me lo salta directamente y no puedo escribirlo, es como si fuera en blanco y no sé porqué.
Adjunto aquí mi pequeño código:
Muchas gracias !!
Adjunto aquí mi pequeño código:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public static void inicio() throws SQLException{
System.out.println("====== MENÚ ======");
System.out.println("1. Listado de todos los almacenes de la compañía");
System.out.println("2. Listado de todos los productos de la compañía y el almacén en el que se encuentran");
System.out.println("3. Listado de usuarios del sistema");
System.out.println("4. Crear un nuevo almacén");
System.out.println("5. Crear un nuevo producto");
System.out.println("6. Asignar un producto a un almacén");
System.out.println("7. Dar de baja un producto");
System.out.println("8. Dar de baja un almacén");
System.out.println("9. Salir del Sistema\n");
System.out.println("Elija una opción");
Integer opcion;
Scanner sc = new Scanner(System.in);
opcion=sc.nextInt();
if(opcion.equals(1)){
........
}else if(opcion.equals(2)){
........
}else if(opcion.equals(3)){
........
}else if(opcion.equals(4)){
int ID;
String nombre;
System.out.println("Introduzca un ID");
ID = sc.nextInt();
System.out.println("Introduzca un nombre");
nombre = sc.nextLine();
System.out.println(ID +" " +nombre);
//controles.nuevoAlmacen(ID, nombre);
}else if(opcion.equals(5)){
........
}else if(opcion.equals(6)){
........
}else if(opcion.equals(7)){
........
}else if(opcion.equals(8)){
........
}else if(opcion.equals(9)){
........
}else{
System.out.println("\nOpción no válida. Vuelva a intentarlo\n");
inicio();
}
}
Muchas gracias !!
Valora esta pregunta
0