
Detener ejecución.
Publicado por Nikolai (2 intervenciones) el 19/07/2021 20:57:07
Muy buenas, estoy aprendiendo java, estaba realizando un ejercicio y me tope con un error que no puedo resolver.
public static String [] AltaProducto ( String cantidadProductos [] ){
Scanner teclado = new Scanner(System.in); // Creamos el objeto Scanner.
int repetir;
for( int i = 0 ; i < cantidadProductos.length ; i++ ) {
System.out.println( "\nIngrese el nombre del producto...\n" );
cantidadProductos[i] = teclado.nextLine() ;
System.out.println( "Producto guardado con exito.\n" );
System.out.println( "\n¿Quiere ingresar otro producto\n\n1.NO\n2.SI" );
repetir = teclado.nextInt() ;
if (repetir == 1)
i = cantidadProductos.length;
}
La primera vez el bucle for funciona como debe, si el usuario ingresa 1 = NO. salimos del bucle y regreso al menu, pero en el caso de que quiera ingresar otro producto 2 = SI. el programa imprime todos los mensajes en pantalla y se detiene el la pregunta ¿Quiere ingresar otro producto?, impidiendo que ingrese un segundo producto.
¿Cómo puedo establecer bien la condición?
¿Cómo puedo hacer que el programa espere a que el usuario ingrese el dato al arreglo para volver a preguntar.?
Gracias
public static String [] AltaProducto ( String cantidadProductos [] ){
Scanner teclado = new Scanner(System.in); // Creamos el objeto Scanner.
int repetir;
for( int i = 0 ; i < cantidadProductos.length ; i++ ) {
System.out.println( "\nIngrese el nombre del producto...\n" );
cantidadProductos[i] = teclado.nextLine() ;
System.out.println( "Producto guardado con exito.\n" );
System.out.println( "\n¿Quiere ingresar otro producto\n\n1.NO\n2.SI" );
repetir = teclado.nextInt() ;
if (repetir == 1)
i = cantidadProductos.length;
}
La primera vez el bucle for funciona como debe, si el usuario ingresa 1 = NO. salimos del bucle y regreso al menu, pero en el caso de que quiera ingresar otro producto 2 = SI. el programa imprime todos los mensajes en pantalla y se detiene el la pregunta ¿Quiere ingresar otro producto?, impidiendo que ingrese un segundo producto.
¿Cómo puedo establecer bien la condición?
¿Cómo puedo hacer que el programa espere a que el usuario ingrese el dato al arreglo para volver a preguntar.?
Gracias
Valora esta pregunta


0