Si bien es cierto que falta manejar los errores en caso de que se ingrese un valor distinto al tipo int, con try catch, cumple con lo propuesto
import java.util.Scanner;
public class Desafio {
public static void main(String[] args) {
double saldoDisponibleInicial = 2500.69551;
int opcion=0;
Scanner lectura = new Scanner(System.in);
System.out.println("*****Aplicación Bancaria*****");
String encabezado = """
Nombre del cliente: Estudiante Alura One
Tipo de cuenta: Corriente
Saldo Disponible: $%.2f
""".formatted(saldoDisponibleInicial);
System.out.println(encabezado);
String menuInicial= """
1 - Consultar Saldo
2 - Retirar
3 - Depositar
9 - Salir
""";
while (opcion!=9) {
System.out.println(menuInicial);
System.out.println("Ingrese una opcion, por favor");
opcion = lectura.nextInt();
switch (opcion) {
case 1:
System.out.println(String.format("El saldo disponible Actualizado es: %.2f", saldoDisponibleInicial));
break;
case 2:
System.out.println("Ingrese el monto a retirar: ");
double montoARetirar = lectura.nextDouble();
if(montoARetirar<=saldoDisponibleInicial) {
saldoDisponibleInicial -= montoARetirar;
System.out.println(String.format("El Saldo Disponible Actualizado es: $%.2f", saldoDisponibleInicial));
}else{
System.out.println("Saldo insuficiente!!!");
}
break;
case 3:
System.out.println("Ingrese el monto a depositar: ");
double montoADepositar = lectura.nextDouble();
saldoDisponibleInicial += montoADepositar;
System.out.println(String.format("El Saldo Disponible Actualizado es: $%.2f" , saldoDisponibleInicial));
break;
case 9:
System.out.println("****Gracias por usar la aplicación***");
break;
default:
System.out.println("Opción no válida, por favor intente de nuevo");
break;
}
}
}
}