Hola a todos, hoxe vou ensinarvos a facer un menú na consola Java.
é normal que unha aplicación que che damos unha serie de opcións para o usuario para que poidas realizar diferentes opcións sen unha orde definida.
Explicaremos paso a paso xa que podes facer un menú simple de opcións X.
Todo isto o fará dun xeito principal, pódese facer nunha función ou onde queiras.
O primeiro que necesitamos é un booleano, unha variable numérica (segundo como quere solicitar as opcións) e un escáner ou outro elemento para solicitar datos (joptionpane, por exemplo).
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 } }
Agora imos facer que solicite opcións ata que nós quere (vemos isto ao seguinte paso), farémolo por un tempo, pode facer con un tempo.
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 while(!salir){ } } }
Isto fará ata Non comezamos = verdadeiro, non saia.
Agora poñeremos as opcións que queremos mostrar , Recomendo poñer con sistema.out.println e con este formato “< número de opción >. < opción > “
Eu normalmente coloque unha opción de” saída “máis chamada para que poida deixar a aplicación.
Tamén imos pedir un número que sería a opción que queremos facer.
Vexamos como sería con tres opcións:
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 while(!salir){ 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(); } } }
Agora imos usar un interruptor para facer a opción de realizar a tarefa que necesitamos.
En cada caso, imos poñer o código que nós necesidade (funcións, pedir algo, etc.).
No último caso, puxemos = verdadeiro; para indicar que queremos saír (o número do caso pode variar dependendo do número de opcións ).
Tamén poñemos un valor predeterminado para evitar ter que comprobar que o número está no intervalo de opcións.
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 while(!salir){ 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"); } } } }
Que faría? ocorrer se coloque unha cadea en vez de un número? Teriamos un erro.
Entón imos poñer unha 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 while (!salir) { 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 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"); } } catch (InputMismatchException e) { System.out.println("Debes insertar un número"); sn.next(); } } }}
A excepción escollida é InputMismatchException, Esta excepción salta cando non ingresas o número non se pode converter no noso caso.
Poñemos sn.next () para evitar que ingrese a un ciclo infinito, só se usa o escáner.
No código anterior, xa teriamos completado o noso menú, copialo e probalo a si mesmo.
Amosámosche un exemplo:
pódese modificar ao teu gusto.
Espero que esteas útil. Se tes dúbidas, pregunta. Estamos aquí para axudarche.