InicioHazlo Tu MismoMenues y sub menues iterativos en consola de Java.

Menues y sub menues iterativos en consola de Java.

Hazlo Tu Mismo•10/30/2012

Bien, para aquellos que nos iniciamos en el mundo de Java sabemos que antes de las interfaces gráficas(GUI´s)
debemos desarrollar nuestras aplicaciones limitándonos a la consola de la JVM.

Como bien dice el título del post, hoy veremos como implementar menues y submenues "iterativos" aunq también serán interactivos, jajaj X ).

La palabra iteración indica un proceso cíclico, en nuestro caso lo que deseamos es que el programa se desarrolle en tanto sea el usuario quien decida darle fin.

Para esto en primer lugar vamos a precisar una estructura de repetición, en este caso implementaremas un while.

La sintaxis genérica de while es la siguiente:

while(condición){
...sentencias...
}

Donde nuestra condición será dada x el valor de una variable condicionada mediante operadores lógicos:

Menor que: <

Mayor que: >

Menor o igual que: <=

Mayor o igual que: >=

Igual que: ==

Distinto que: !=

y nuestras condiciones pueden además sumarse o dirimirse de la siguiente manera:

(condición y otra condición): (cond1 && cond2), donde se analiza que sean verdaderas ambas condiciones.

(condición o otra condición): (cond1 || cond2), donde se analizará la veracidad de una o de otra condición.

Ejemplo de mostrar en pantalla números del 1 al 10 con while y condiciones:


int num = 1;
    while(num<=10){
       
        System.out.println(num);
    num++;
    }


Lo que veremos en la consola será:

[code]
Run:
1
2
3
4
5
6
7
8
9
10
BUILD SUCCESSFUL (total time: 16 seconds)


Nuestro menu tendrá en este caso 4 opciones.

Para implementar la selección de las opciones usaremos una estructura de selección de tipo switch, donde la estructura genérica para el switch es:

int opcion = 0;
System.out.println("ingrese una opcion");
opcion = miScanner.nextInt();
switch (opcion){

case 1:
           System.out.println("Has elegido la opción #1");

                                                                               break;

case 2:
           System.out.println("Has elegido la opción #2");
                                                                               break;

default:
          System.out.println("Has elegido una opción nincorrecta");
                                                                               break;
} [/color][/color][/color]


Para implementar submenues dentro de un menu basta con "anidar" un switch dentro de otro.

En este ejemplo tenemos un menú que se repite una y otra vez hasta que el usuario elija en el menú principal la opción 4.

Donde se ve:
[color=#000000][color=#000000][color=#000000]
system.out.println("Texto n")
[/color][/color][/color]


Debería verse:

donde "/n" es solo un salto de linea.
[color=#000000]
import java.util.Scanner;//Importación de la clase Scanner para leer datos del teclado

public class Menues {
  
 public static void main(String[]args) {
    
   Scanner miscanner = new Scanner(System.in); //Creación de objeto propio de Scanner
   
   int op = 0;//variable que maneja los menús
   
     while (op!=4){// Estructura que repite el algoritmo del menú principal
                   //hasta que se la condición sea falsa
         
         //Se muestra el menu principal
       System.out.println(".................n"
                        + ".  1 opcion #1  .n"
                        + ".  2 opcion #2  .n"
                        + ".  3 opcion #3  .n"
                        + ".  4 Salir      .n"
                        + ".................");
  
       op= miscanner.nextInt(); //Se le da a la variable op el valor ingresado desde el teclado    
       
       switch(op){// Estructura de selección del menú principal
case 1://en caso de que op tome el valor 1
    System.out.println("...............n"
                        + ".Seleccionó #1.n"
                        + "...............");
while(op!=3){
       System.out.println("...............n"
                        + ".  1 Sub #1   .n"
                        + ".  2 Sub #2   .n"
                        + ".  3 Volver   .n"
                        + "...............");
       op=miscanner.nextInt(); //Se le da a la variable op el valor ingresado desde el teclado    
       
       //Sub menú dentro de opción #1 en menú principal
       
       switch(op){//abre Sub menú dentro de opción #1 del menu Principal
           case 1:
       System.out.println("...............n"
                        + ".  Sub #1     .n"
                        + "...............");
               break;
           case 2 :
        System.out.println("...............n"
                         + ". Sub #2      .n"
                         + "...............");
               break;
               
               default://En caso de que el usuario ingrese una opción incorrecta
                   System.out.println("...............n"
                                        + ".#"+op+" Invalido  .n"
                                        + "...............");
               break;
               
       }//cierra Sub menu
}
    break;
    case 2:System.out.println("...............n"
                            + ".Seleccionó #2.n"
                            + "...............");
    break;
        case 3:System.out.println("...............n"
                                + ".Seleccionó #3.n"
                                + "...............");
    break;
        case 4:System.out.println("...............n"
                                + ".   #3 Salir  .n"
                                + "...............");
            break;
        default:System.out.println("...............n"
                                + ".#"+op+" Invalido  .n"
                                + "...............");
       }
   } 
     
   
  } 

}



En el ejemplo anterior si se elige la opcion uno nos encontraremos con tres nuevas opciones, y solo se saldrá del programa si en el menú principal se elige la opcion Salir.

También con default mostramos un error cada vez que el usuario ingresa una opción que no es válida

Otros posts míos: 










                          

Y husmea entre mis posts que de seguro alguno te va a interesar:

 
                                                   
 




Como siempre:


Dudas, criticas, comentarios y/o puntos Bienvenidos!!! 




Datos archivados del Taringa! original
10puntos
483visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
5visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

d
diazespina🇦🇷
Usuario
Puntos0
Posts52
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.