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

[Proyecto] Desafío Aplicación Bancaria

¡Hola! A continuación, comparto la forma en que desarrollé el desafio de la aplicacion bancaria, Para este desafio genere dos clases, una clase Main y otra Cuenta. Además, el usuario puede incialmente ingresar el nombre, y el saldo inicial de la cuenta. Se realizan alguna validaciones sobre los montos, por ejemplo, que el monto a depositar no sea menor o igual a cero.

  • Clase Main
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int eleccion;
        String nombre = inializacionNombre();
        double saldo = inicializacionCuenta(nombre);
        Cuenta cuenta = new Cuenta(nombre, saldo);
        do {
            System.out.println("""
                **************************************
                ** Escriba el número de la opción deseada **
                1 - Consultar saldo
                2 - Retirar
                3 - Despositar
                9 - Salir
                """);
            eleccion = input.nextInt();
            switch (eleccion){
                case 1:
                    cuenta.consultarSaldo();
                    break;
                case 2:
                    double cantidadARetirar;
                    do{
                        System.out.println("Ingrese la cantidad que desea retirar");
                        cantidadARetirar = input.nextDouble();
                        if(validacionValor(cantidadARetirar)){
                            cuenta.retirarSaldo(cantidadARetirar);
                            break;
                        }
                    } while(cantidadARetirar <= 0);
                    break;
                case 3:
                    double cantidadADepositar;
                    do {
                        System.out.println("Ingrese la cantidad que desea Depositar");
                        cantidadADepositar = input.nextDouble();
                        if(validacionValor(cantidadADepositar)){
                            cuenta.depositarSaldo(cantidadADepositar);
                            break;
                        }
                    }while(cantidadADepositar <= 0);
                    break;
                case 9:
                    System.out.println("Gracias por Utilizar nuestros Servicios :)");
                    break;
                default:
                    System.out.println("Eleccion Invalida, Intentelo de nuevo por favor");
            }
        } while(eleccion != 9);
    }

    public static String inializacionNombre(){
        Scanner input = new Scanner(System.in);
        System.out.println("""
                *********Bienvenido al BanCol*********
                Ingrese su Nombre:""");
        String nombre = input.nextLine();
        return  nombre;
    }
    public static double inicializacionCuenta(String nombre){
        Scanner input = new Scanner(System.in);
        double saldo;
        do {
            System.out.println("Ingrese su Saldo Incial");
            saldo = input.nextDouble();
            if (validacionValor(saldo)) {
                break;
            }
        } while (saldo <= 0);
        System.out.printf("""
                **************************************
                
                Nombre del cliente: %s
                Saldo: %.2f$
                """, nombre, saldo);
        return saldo;
    }

    public static boolean validacionValor(double saldo){
        if (saldo <= 0) {
            System.out.println("Debe ingresar un valor mayor a 0, Intentelo de Nuevo");
            return false;
        }
        return true;
    }
}
  • Clase Cuenta
public class Cuenta {
    double saldo;
    String nombre;

    public Cuenta(String nombre, double saldo) {
        this.saldo = saldo;
    }

    public void consultarSaldo(){
        System.out.println("Saldo: " + saldo);
    }

    public void retirarSaldo(double saldoARetirar){
        if (saldoARetirar > saldo){
            System.out.println("No tiene esa cantidad en la cuenta");
            return;
        }
        saldo -= saldoARetirar;
        System.out.println("Saldo Retirado Con exito");
        System.out.printf("Nuevo Saldo: %.2f%n", saldo);
    }
    public void depositarSaldo(double saldoADepositar){
        if (saldoADepositar <= 0){
            System.out.println("El saldo a depositar debe ser mayor a 0");
            return;
        }
        System.out.println("Deposito realizado con Exito");
        saldo += saldoADepositar;
        System.out.println("Nuevo saldo: " + saldo);
    }
}

Gracias... :)

1 respuesta

¡Hola Anderson, espero que estés bien!

Me alegra que estés trabajando en el desafío de la aplicación bancaria en Java. Parece que has avanzado bastante en la implementación de las clases Main y Cuenta.

Sin embargo, veo que tienes un pequeño error en el método inicializacionCuenta de la clase Main. La palabra "inicialización" está escrita con una "i" en lugar de una "n" en la línea que está establecendo el nombre.

Además, en el método inicializacionCuenta, estás imprimiendo el saldo inicial antes de validar si es mayor a cero, lo que podría confundir al usuario. Te sugiero que realices la validación antes de imprimir el saldo inicial.

Por otro lado, me gustaría recordarte la importancia de seguir las buenas prácticas de programación, como el uso de nombres de métodos y variables significativos, y la separación de responsabilidades en las clases.

Recuerda que en el método retirarSaldo de la clase Cuenta, podrías agregar un mensaje de error más descriptivo cuando el saldo a retirar es mayor que el saldo disponible.

Además, es genial que estés implementando la lógica de validación de montos en los métodos de retiro y depósito. Esto garantiza que el usuario no pueda realizar operaciones inválidas.

¡Sigue adelante con tu desafío! Si tienes alguna otra pregunta o necesitas más ayuda, no dudes en preguntar.

Espero haber ayudado y buenos estudios!