Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] aplicación bancaria

import java.util.Scanner;

public class BancoApp {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String cliente = "Tony Stark";
        double saldo = 1599.99; // saldo inicial en USD
        
        int opcion;
        do {
            // Mostrar menú
            System.out.println("\n=== Banco Console App ===");
            System.out.println("Cliente: " + cliente);
            System.out.println("1. Consultar saldo");
            System.out.println("2. Retirar");
            System.out.println("3. Depositar");
            System.out.println("9. Salir");
            System.out.print("Elige una opción: ");
            
            opcion = sc.nextInt();
            
            switch (opcion) {
                case 1:
                    // Consultar saldo
                    System.out.printf("Saldo disponible: USD %.2f%n", saldo);
                    break;
                    
                case 2:
                    // Retiro
                    System.out.print("¿Cuánto deseas retirar? USD ");
                    double retiro = sc.nextDouble();
                    if (retiro <= 0) {
                        System.out.println("El monto de retiro debe ser mayor que cero.");
                    } else if (retiro > saldo) {
                        System.out.println("Saldo insuficiente. Operación cancelada.");
                    } else {
                        saldo -= retiro;
                        System.out.printf("Retiro exitoso. Nuevo saldo: USD %.2f%n", saldo);
                    }
                    break;
                    
                case 3:
                    // Depósito
                    System.out.print("¿Cuánto deseas depositar? USD ");
                    double deposito = sc.nextDouble();
                    if (deposito <= 0) {
                        System.out.println("El monto de depósito debe ser mayor que cero.");
                    } else {
                        saldo += deposito;
                        System.out.printf("Depósito exitoso. Nuevo saldo: USD %.2f%n", saldo);
                    }
                    break;
                    
                case 9:
                    // Salir
                    System.out.println("Finalizando el programa. ¡Muchas gracias por usar nuestros servicios!");
                    break;
                    
                default:
                    System.out.println("Opción no válida. Por favor, elige 1, 2, 3 o 9.");
            }
            
        } while (opcion != 9);
        
        sc.close();
    }
}

Cómo funciona:

Variables iniciales

cliente: nombre del titular (“Tony Stark”).

saldo: saldo inicial (USD 1599.99).

Menú en bucle do–while Se muestra hasta que el usuario elija la opción 9.

Switch–case de opciones

1 – Consultar saldo: imprime el saldo formateado a dos decimales.

2 – Retirar: pide monto, valida que sea positivo y que haya suficiente saldo, descuenta y muestra el nuevo saldo o un error.

3 – Depositar: pide monto, valida que sea positivo, suma al saldo y muestra el nuevo saldo.

9 – Salir: muestra mensaje de despedida y rompe el bucle.

default: captura cualquier otra opción inválida.

Formato y validaciones

Uso de System.out.printf con %.2f para dos decimales.

Comprobación de que los montos sean positivos y que no supere el saldo al retirar.

1 respuesta

¡Hola Cristian! ¿Cómo estás?

Gracias por tu aporte en el foro. Su contribución es esencial para el crecimiento de nuestra comunidad en Alura.

Sigue así y no dudes en volver al foro si tienes alguna pregunta o dificultad.

Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!