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.