En el desarrollo de esta aplicación, no se consideró un ingreso manual de datos de cliente, por lo que, presenta algunas limitaciones en ese aspecto. Sin embargo, puede ser útil como una base para el apartado de desarrollo de opciones, y su compresión de manera sencilla. Este es un ejemplo de cómo desarrolle el desafió y espero que quizá pueda ser de ayuda para alguien:
import java.util.Scanner;
public class DesafioAplicacionDeCajero {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
String nombreDeCliente = "Cristian Rodriguez";
String tipoCuenta = "Corriente";
double saldoDisponible = 2001.50;
double saldoRetirado = 0;
double saldoDepositado = 0;
int numeroDeOpcion = 0;
String mensajeDeInfCliente = String.format("""
************************************************************
Nombre de Cliente: %s
Tipo de Cuenta: %s
Saldo disponible %.2f
""",nombreDeCliente,tipoCuenta,saldoDisponible);
String mensajeDeOpciones = """
************************************************************
** Escriba el numero de la opción deseada **
1 - Consultar Saldo
2 - Retirar
3 - Depositar
9 - Salir
""";
System.out.println(mensajeDeInfCliente);
while (numeroDeOpcion != 9){
System.out.println(mensajeDeOpciones);
numeroDeOpcion = teclado.nextInt();
switch (numeroDeOpcion){
case 1:
System.out.println("El saldo disponible es: " + saldoDisponible);
break;
case 2:
System.out.println("¿Cual es el valor que desea retirar? ");
saldoRetirado = teclado.nextDouble();
if (saldoRetirado>0 && saldoDisponible>= saldoRetirado){
saldoDisponible -=saldoRetirado;
System.out.printf("El saldo restante es: %.2f%n ",saldoDisponible);
} else if (saldoRetirado <= 0) {
System.out.println("El valor ingresado no es válido");
} else {
System.out.println("El saldo que se desea retirar es mayor al saldo disponible ");
}
break;
case 3:
System.out.println("¿Cual es el valor que desea depositar? ");
saldoDepositado = teclado.nextDouble();
if (saldoDepositado > 0) {
saldoDisponible += saldoDepositado;
System.out.printf("El saldo disponible es: %.2f%n ", saldoDisponible);
} else {
System.out.println("El valor ingresado no es válido");
}
break;
case 9:
System.out.println("Gracias por usar nuestros servicios.");
break;
default:
System.out.println("Opcion no válida, intente otra vez.");
break;
}
}
teclado.close();
}
}