Ir al contenido principal

Control de flujo: do while (6/6)

A continuación se muestra una actualización de la clase SaludoApp6.java presentado en el post anterior Control de flujo: do while (5/6). Se ha creado la clase SaludoApp7.java la cual aplica la sentencia de control do while con dos decisiones.

Similar al ejemplo anterior, el programa le permite al usuario ingresar a alguna opción del menú cuantas veces quiera hasta que el usuario seleccione la opción 4 que es salir. Pero, a diferencia del ejemplo anterior, el usuario no podrá equivocarse en más de tres veces al ingresar una opción del menú.

package sistemajava;
import java.util.Scanner;

public class SaludoApp7 {

    public static void main(String[] args) {
        System.out.println("¡Hola Mundo...! Bienvenidos a www.sistemajava.com \n");                
        System.out.println("\t TEMAS QUE PUEDES APRENDER");
        System.out.println("\t =========================");
        System.out.println("\t 1. Fundamentos de programación (nivel básico)");
        System.out.println("\t 2. Técnicas de programación orientada a objetos (nivel intermedio)");
        System.out.println("\t 3. Desarrollo de aplicaciones empresariales (nivel avanzado)");
        System.out.println("\t =========================");
        System.out.println("\t 4. Salir");
        Scanner entrada = new Scanner(System.in);
        int opcion, numero_errores = 0;
        do{
            System.out.print("Ingrese el número de opción del menú: ");
            opcion = entrada.nextInt();
            switch(opcion){
                case 1:
                    System.out.println("Aprenderás los siguientes temas:");
                    System.out.println("\t 1.1 Tipos de datos");
                    System.out.println("\t 1.2 Control de flujo");
                    System.out.println("\t 1.3 Arreglos, etc.");
                    break;
                case 2:
                    System.out.println("Aprenderás los siguientes temas:");
                    System.out.println("\t 2.1 Clases y relaciones");
                    System.out.println("\t 2.2 Tecnología Swing");
                    System.out.println("\t 2.3 Aplicar principios de diseño, etc.");
                    break;
                case 3:
                    System.out.println("Aprenderás los siguientes temas:");
                    System.out.println("\t 3.1 Implementación de patrones de diseño");
                    System.out.println("\t 3.2 Tecnología Web: JSP, Servlets, JSF, Servicios Web");
                    System.out.println("\t 3.3 Frameworks, etc.");
                    break;
                case 4:
                    break;
                default:
                    numero_errores++;
                    System.out.println("No ingresaste una opción del menú");
            }
            System.out.println(); // salto de línea            
        }while(opcion != 4 && numero_errores < 3);
        System.out.println("Gracias por su visita.");
    }
    
}



En el programa se puede apreciar que la condición de la sentencia while incluye un operador condicional && que permite evaluar dos decisiones. La primera decisión es (opcion != 4) y la segunda decisión es (numero_errores < 3). Sólo si las dos decisiones son verdad el bucle continúa en una iteración más, pero si al menos una decisión es falta entonces se termina el bucle. La variable numero_errores se ha ido acumulando dentro del bucle con la instrucción numero_errores++. El operador ++ permite incrementar en uno el valor de la variable.

Por último, el resultado de la ejecución del programa se muestra en la siguiente figura:



Gracias por visitar este blog.

Comentarios

Publicar un comentario

Gracias por tus comentarios

Entradas populares de este blog

Manejo de fechas en Java 8 con LocalDate

En el programa desarrollado y mostrado en esta oportunidad, se han usado tres clases de la biblioteca de Java 8: la clase  java.time.Period  que sirve para determinar rangos como el total de años entre dos fechas, la clase  java.time.format.DateTimeFormatter  que sirve para dar diversos formatos a la fecha, y principalmente la clase  java.time. LocalDate   que es un objeto de fecha y hora inmutable que representa una fecha, a menudo visto como año-mes-día, además permite realizar de forma simple diversas operaciones de fecha.

Calendario en Java con GregorianCalendar

En el programa desarrollado y mostrado en esta oportunidad, se han usado tres clases de la biblioteca de Java: la clase  java.util.Date  que sirve para crear una fecha actual del sistema, la clase  java.text.DateFormat  que sirve para dar formato a la fecha, y principalmente la clase  java.util. GregorianCalendar   que sirve para manipular fechas.

Formato de fechas en Java con SimpleDateFormat

En el programa desarrollado y mostrado en esta oportunidad, se han usado dos clases de la biblioteca de Java: la clase  java.util.Date  que sirve para crear una fecha actual del sistema, y la clase  java.text.SimpleDateFormat  que sirve para dar diversos formatos de impresión a la fecha.