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

Proyecto final

He agregado unas mejorías por ejemplo que pasa si para el deposito o retiro el usuario envía número negativos

public static void main(String[] args) {
//Objetos
Scanner sc = new Scanner(System.in);

    // Variables y asignaciones
    String nombreCliente="Juan Pablo Castañeda Delgado";
    String tipoCuenta= "Corriente";
    String pantallaInicial="";
    double saldoDisponible=3541.99;
    double valorRetiro, valorDeposito;
    int opcion=0;

    //Mensaje de Pantalla inicial
    pantallaInicial = """
            **************************************************************
                            Banco Internacional del Futuro
            
            Nombre del Cliente: %s
            Tipo de Cuenta: %s
            Saldo Disponible: $ %f 
            
            ***************************************************************
            """.formatted(nombreCliente, tipoCuenta, saldoDisponible);
    System.out.println(pantallaInicial);

    // Loop de Repetición
    while(opcion!=9){
        //Menu de opciones
        System.out.println("""
                        -------------------------------------------------------
                                 ** Ingrese la Opción que desea realizar **
                        1- Consultar Saldo
                        2- Retirar
                        3- Depositar
                        9- Salir
                        -------------------------------------------------------
                    """);
        opcion = sc.nextInt();

        //Casos para cada opcion seleccionada
        switch (opcion){
            case 1:
                System.out.println(String.format("""
                                El valor Total en su cuenta %s es de %f
                        """,tipoCuenta, saldoDisponible));
                break;
            case 2:
                System.out.println("""
                        Ingrese el valor a Retirar
                        (Cantidad minima de retiro $10)""");
                valorRetiro= sc.nextInt();
                //Validación de la Información ingresada
                if (valorRetiro>=saldoDisponible) {
                    System.out.println("""
                                    El valor a Retirar es mayor al del monto en la cuenta
                             """);
                    continue;
                } else if (valorRetiro<10) {
                    System.out.println("""
                                    El valor a Retirar es menor que $10 retiro rechazado
                             """);
                    continue;
                }else{
                    saldoDisponible-=valorRetiro;
                    System.out.println(String.format("""
                                                  Valor retirado con Exito
                                                  Saldo Restante: $ %f
                             """,saldoDisponible));
                }
                break;
            case 3:
                System.out.println("""
                        Ingrese el valor a Depositar
                        (Cantidad minima de Deposito $5)""");
                valorDeposito= sc.nextInt();
                //Validación de la Información ingresada
                if (valorDeposito<5) {
                    System.out.println("""
                                   El valor a Depositar es menor que $5 deposito rechazado
                             """);
                    continue;
                }else{
                    saldoDisponible+=valorDeposito;
                    System.out.println(String.format("""
                                                Valor a depositado con Exito
                                                Total en la Cuenta: $ %f
                             """,saldoDisponible));
                }
                break;
            case 9:
                System.out.println("""

                                 Banco Internacional del Futuro

                 """);
                break;
            default:
                System.out.println("""

                                        Opción no Disponible

                 """);
        }
    }
}

}

1 respuesta

¡Hola Juan, espero que estés bien!

Es genial que estés mejorando tu proyecto final. Para manejar la situación en la que el usuario intenta ingresar números negativos para depósitos o retiros, puedes agregar una validación adicional en tu código. Aquí te dejo un ejemplo de cómo podrías hacerlo:

Para el caso de retirar dinero, puedes añadir una condición que verifique si el valor es negativo:

if (valorRetiro < 0) {
    System.out.println("El valor a retirar no puede ser negativo. Operación rechazada.");
    continue;
}

Y para el caso de depositar dinero, también puedes verificar si el valor es negativo:

if (valorDeposito < 0) {
    System.out.println("El valor a depositar no puede ser negativo. Operación rechazada.");
    continue;
}

Con estas validaciones, te aseguras de que el usuario no pueda ingresar valores negativos para ninguna de las operaciones. Al añadir estas condiciones antes de las otras validaciones, puedes controlar mejor el flujo de tu aplicación y mejorar la experiencia del usuario.

Espero que estas sugerencias te sean útiles y te ayuden a mejorar tu aplicación. ¡Bons estudios!