Cómo construir un menú de opciones con Do While en Java

logo java fondo blanco

Si quieres saber cómo crear un menú de opciones con la consola de Java, entonces quédate a leer este artículo donde te mostraremos cómo hacerlo de forma fácil y rápida.

Con esta pequeña guía podrás aprender a crear tus propios proyectos. Podrás crear este menú de Java, este método te ayudará a no generar códigos basura y lo mejor de todo es que crearás este menú desde cero. Por eso es importante descargar, actualizar e instalar Java a la última versión. También es importante que tengas presente que estas líneas de código deben ir enumeradas en secuencia, incluyendo las líneas en blanco.

Cómo Hacer un Menú de Opciones con Do While en Java paso a paso

Cómo hacer un menú de opciones con Do While en Java

La sentencia repetitiva Do While es sumamente importante para implementar diversas funciones. Entre los usos más comunes se encuentra hacer un menú, videojuegos, realizar cálculos recursivos, entre muchos otros usos.

Pues bien, esta sentencia es muy similar al While. Pero en este caso, el Do While ejecuta el ciclo al principio y luego evalúa la condición. Esto hace obligatorio que el ciclo se ejecute al menos una vez.

Todos los pasos que te mostraremos a continuación están hechos en un main. Lo primero que necesitarás es un booleano, una variable numérica y un Scanner.

  • import java.util.Scanner;
  • public class JavaApplication219 {
  •     public static void main(String[] args) {
  •        Scanner sn = new Scanner(System.in);
  •        boolean salir = false;
  •        int opcion; //Guardaremos la opción del usuario
  •        do{
  •        }
  •        while(!salir);
  •     }
  • }ilustracion de hombre mirando monitor fondo oscuro

Luego de esta serie de comandos, debes hacer que vaya pidiendo opciones, y este proceso se hace mediante Do While, puedes hacerlo con un While.

  • import java.util.Scanner;
  • public class JavaApplication219 {
  •     public static void main(String[] args) {
  •        Scanner sn = new Scanner(System.in);
  •        boolean salir = false;
  •        int opcion; //Guardaremos la opcion del usuario
  •        do{
  •        }
  •       while(!salir);
  •     }
  • }

Gracias a esto, no podrás salir a menos que pongas true. Ahora podrá colocar las opciones que quieras. Es recomendable que uses System.out.println y con este formato <número opción> <Opcion>. Con tres opciones sería de esta forma:

  • import java.util.Scanner;
  • public class JavaApplication219 {
  •     public static void main(String[] args) {
  •        Scanner sn = new Scanner(System.in);
  •        boolean salir = false;
  •        int opcion; //Guardaremos la opcion del usuario
  •        do{
  •            System.out.println("1. Opcion 1");
  •            System.out.println("2. Opcion 2");
  •            System.out.println("3. Opcion 3");
  •            System.out.println("4. Salir");
  •            System.out.println("Escribe una de las opciones");
  •            opcion = sn.nextInt();
  •        }
  •       while(!salir);
  •     }
  • }

Es momento de usar un switch para poder realizar las tareas que necesites. En cada case debes poner el código que necesitas, y en el último debes poner salir=true y así indicar que quieres salir. También debes colocar un default y de esa forma evitar estar revisando que el número este puesto correctamente en el rango de las opciones:

  • import java.util.Scanner;
  • public class JavaApplication219 {
  •     public static void main(String[] args) {
  •        Scanner sn = new Scanner(System.in);
  •        boolean salir = false;
  •        int opcion; //Guardaremos la opcion del usuario
  •        do{
  •            System.out.println("1. Opcion 1");
  •            System.out.println("2. Opcion 2");
  •            System.out.println("3. Opcion 3");
  •            System.out.println("4. Salir");
  •            System.out.println("Escribe una de las opciones");
  •            opcion = sn.nextInt();
  •            switch(opcion){
  •                case 1:
  •                    System.out.println("Has seleccionado la opcion 1");
  •                    break;
  •                case 2:
  •                    System.out.println("Has seleccionado la opcion 2");
  •                    break;
  •                 case 3:
  •                    System.out.println("Has seleccionado la opcion 3");
  •                    break;
  •                 case 4:
  •                    salir=true;
  •                    break;
  •                 default:
  •                    System.out.println("Solo números entre 1 y 4");
  •            }
  •        }
  •       while(!salir);
  •     }
  • }

Aprende a utilizar el menú de opciones con Do While en Java

Para utilizar el menú Do While, debes ingresar el dígito correspondiente a la opción que quieras escoger y presionas Enter. De este modo, tu opción será procesada y ejecutada. En caso de digitar un número fuera del rango de opciones, el programa te mostrara una alerta sobre el rango disponible.

El menú Do While es muy sencillo de utilizar e implementar. Sin embargo, hay que tomar en cuenta dos consideraciones:

Reasignar la variable salida: Nunca debes prescindir de una opción de salida en tu menú. Pues de otro modo, los usuarios se verán forzados a escoger una opción sin poder salir. Del mismo modo, esta opción debe reasignar el valor de la variable de salida para romper el ciclo Do While.

Ubicar correctamente las llaves: En caso de que tu menú este conformado por muchas más sentencias estructuradas; debes mantener un correcto margen con las dependencias. De otro modo, es difícil determinar cuál llave pertenece al bucle Do While.

¿Cómo desplegar varias opciones dentro de un menú en Java?

El despliegue de las opciones se ejecuta al entrar al ciclo Do While. De este modo, podemos mostrar al usuario lo que puede hacer y luego ejecutar la opción que escoja.

Este despliegue se realiza de manera secuencial. Por lo tanto, todas las opciones le serán mostradas al usuario al mismo tiempo.

El código para indicar las opciones del menú, es el siguiente:

  •    System.out.println("1. Opción 1");
  •    System.out.println("2. Opción 2");
  •    System.out.println("3. Opción 3");
  •    System.out.println("4. Salir");

¿Qué pasa si sale un error?

monitor de laptop con programa java

Puede que hayas puesto una cadena en lugar de un número y esa sea la razón del error, así que para esto debes poner esta excepción especial.

  • import java.util.InputMismatchException;
  • import java.util.Scanner;
  • public class JavaApplication219 {
  • public static void main(String[] args) {
  •         Scanner sn = new Scanner(System.in);
  •         boolean salir = false;
  •         int opcion; //Guardaremos la opcion del usuario
  •         do{
  •             System.out.println("1. Opcion 1");
  •             System.out.println("2. Opcion 2");
  •             System.out.println("3. Opcion 3");
  •             System.out.println("4. Salir");
  •             try {
  •                 System.out.println("Escribe una de las opciones");
  •                 opcion = sn.nextInt();
  •                 switch (opcion) {
  •                     case 1:
  •                         System.out.println("Has seleccionado la opción 1");
  •                         break;
  •                     case 2:
  •                         System.out.println("Has seleccionado la opción 2");
  •                         break;
  •                     case 3:
  •                         System.out.println("Has seleccionado la opción 3");
  •                         break;
  •                     case 4:
  •                         salir = true;
  •                         break;
  •                     default:
  •                         System.out.println("Solo números entre 1 y 4");
  •                 }
  •             } catch (InputMismatchException e) {
  •                 System.out.println("Debes insertar un número");
  •                 sn.next();
  •             }
  •         }
  •         while (!salir) ;
  •     }
  • }

Esta excepción es InputMismatchException, la cual saltará cuando, si es el caso, lo introducido no se pueda convertir en un número. Debes poner sn.next() para que no entres en un bucle infinito si estás usando Scanner. Y con estos códigos ya tu menú quedará completado.

Subir