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

Desafío cuenta bancaria

Hola, comparto el código que implemente para solucionar el reto. Este código fue realizado antes de ver los videos posteriores a la propuesta del ejercicio.

import java.util.Scanner;

public class CuentaBancaria {
    private String cliente;
    private String cuenta;
    private int id;
    private double saldo;

    public CuentaBancaria(String cliente, String cuenta, double saldo) {
        this.cliente = cliente;
        this.cuenta = cuenta;
        this.saldo = saldo;
    }



    public static void main(String[] args) {
        CuentaBancaria cbancaria1 = new CuentaBancaria("Tony Stark", "Corriente", 1599.99);
        Scanner sc = new Scanner(System.in);
        int opcion = 0;
        double retiro, deposito;

        while(opcion != 4) { 
            System.out.println("*".repeat(16));
            System.out.println(" Escriba el número de la opción deseada: \n" +
                              "1- Consultar saldo\n" +
                                  "2- Retirar\n" +
                                  "3- Depositar\n" +
                                  "4- Salir");

                opcion = sc.nextInt();

                switch(opcion) {
                    case 1:    
                        System.out.println("Su saldo actual es: " + cbancaria1.getSaldo());
                        break;

                    case 2:    
                        System.out.println("Ingrese la cantidad a retirar");
                        retiro = sc.nextDouble();
                        cbancaria1.retirar(retiro);
                        break;

                    case 3:   
                        System.out.println("Ingrese la cantidad a depositar");
                        deposito = sc.nextDouble();
                        cbancaria1.depositar(deposito);
                            break;

                        case 4:   
                            System.out.println("Gracias por su consulta");
                            break;

                        default:   
                            System.out.println("El dato ingresado no corresponde a ninguna de las opciones disponibles, ingrese nuevamente el dato");
                    }
                }

                    sc.close();
                }

    public double getSaldo() {
        return saldo;
    }

    public void setSaldo(double nsaldo) {
        this.saldo = nsaldo;
    }

    public void retirar(double cantidad) {
        if (cantidad <= 0) {
            System.out.println("La cantidad a retirar debe ser mayor a 0");
            return;
        }

        if (cantidad > this.getSaldo()) {
            System.out.println("La cantidad a retirar es mayor a su saldo actual, consulte su saldo e intente nuevamente con un monto aceptable");
        } else {
            this.setSaldo(this.getSaldo() - cantidad);
            System.out.println("Retiro exitoso. Su nuevo saldo es: " + this.getSaldo());
        }
    }

    public void depositar(double deposito) {
        if (deposito > 0) {
            this.setSaldo(this.getSaldo() + deposito);
            System.out.println("Depósito exitoso. Su nuevo saldo es: " + this.getSaldo());
        } else {
            System.out.println("El monto a depositar debe ser mayor a 0");
        }
    }
}
1 respuesta

Hola Angela, espero que estés bien

Sugerencia: compartir tu proyecto en el canal #comparta-tu-codigo en el servidor ONE en Discord ;)

¡Gracias por compartir tu código! Has hecho un excelente trabajo al implementar las funcionalidades básicas de una cuenta bancaria. Sin embargo, he notado un pequeño detalle que podrías ajustar para que tu aplicación se alinee completamente con el desafío presentado en el curso.

El enunciado del ejercicio menciona que la opción para salir del programa debería ser el número 9, mientras que en tu código actual es el número 4. Para que tu aplicación cumpla con los requisitos del desafío, te sugiero que cambies la opción de salida para que sea el número 9. Aquí te dejo un ejemplo de cómo podrías modificar esa parte de tu código:

while(opcion != 9) { 
    System.out.println("*".repeat(16));
    System.out.println(" Escriba el número de la opción deseada: \n" +
                      "1- Consultar saldo\n" +
                      "2- Retirar\n" +
                      "3- Depositar\n" +
                      "9- Salir");

    opcion = sc.nextInt();

    switch(opcion) {
        case 1:    
            System.out.println("Su saldo actual es: " + cbancaria1.getSaldo());
            break;

        case 2:    
            System.out.println("Ingrese la cantidad a retirar");
            retiro = sc.nextDouble();
            cbancaria1.retirar(retiro);
            break;

        case 3:   
            System.out.println("Ingrese la cantidad a depositar");
            deposito = sc.nextDouble();
            cbancaria1.depositar(deposito);
            break;

        case 9:   
            System.out.println("Muchas gracias por usar nuestros servicios");
            break;

        default:   
            System.out.println("El dato ingresado no corresponde a ninguna de las opciones disponibles, ingrese nuevamente el dato");
    }
}

Además, me parece que tu lógica para el retiro y el depósito está bien implementada, con las validaciones necesarias para evitar transacciones inválidas. ¡Buen trabajo!

Espero que este ajuste te ayude a completar el desafío con éxito. ¡Bons estudios!