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

06 Proyecto final

Para el proyecto final aplique la arquitectura basada en clases independientes que vimos en el curso.


import java.util.Scanner;
public class AppBancaria {
public static void main(String[] args) {
Scanner lector = new Scanner(System.in);
int opcion = 0;
Cuenta cuenta = new Cuenta();
cuenta.saldo = 1000;
Cliente cliente = new Cliente();
cliente.nombre = "Tony Stark";
cliente.tipoCuenta = "Cuenta Corriente";

    while (opcion != 4) {
        System.out.println("\n=================================");
        System.out.println("        APP BANCARIA");
        System.out.println("=================================");
        System.out.println("Cliente: " + cliente.nombre);
        System.out.println("Tipo de cuenta: " + cliente.tipoCuenta);
        System.out.println("---------------------------------");
        System.out.println("1. Consultar saldo");
        System.out.println("2. Depositar dinero");
        System.out.println("3. Retirar dinero");
        System.out.println("4. Salir");
        System.out.println("---------------------------------");
        System.out.print("Seleccione una opción: ");

        opcion = lector.nextInt();
        System.out.println();
        switch (opcion) {
            case 1:
                System.out.println("----- CONSULTAR SALDO -----");
                cuenta.consultarSaldo();
                break;
            case 2:
                System.out.println("----- DEPÓSITO -----");
                System.out.print("Ingrese cantidad a depositar: ");
                double deposito = lector.nextDouble();
                cuenta.depositar(deposito);
                break;
            case 3:
                System.out.println("----- RETIRO -----");
                System.out.print("Ingrese cantidad a retirar: ");
                double retiro = lector.nextDouble();
                cuenta.retirar(retiro);
                break;
            case 4:
                System.out.println("=================================");
                System.out.println("Gracias por usar la App Bancaria");
                System.out.println("=================================");
                break;
            default:
                System.out.println("Opción inválida.");
        }
    }
    lector.close();
}

}


public class Cuenta {
double saldo;
void consultarSaldo() {
System.out.println("Saldo actual: $" + saldo);
}

void depositar(double cantidad) {
    saldo += cantidad;
    System.out.println("Depósito realizado. Nuevo saldo: $" + saldo);
}

void retirar(double cantidad) {
    if (cantidad > saldo) {
        System.out.println("Saldo insuficiente.");
    } else {
        saldo -= cantidad;
        System.out.println("Retiro realizado. Nuevo saldo: $" + saldo);
    }
}

}


public class Cliente {
String nombre;
String tipoCuenta;
}

1 respuesta

¡Hola Jhon, espero que estés bien!

Gracias por compartir tu código. Veo que estás trabajando en una aplicación bancaria básica en Java, lo cual es un excelente proyecto para aplicar los conceptos que has aprendido.

Tu código está bien estructurado y parece que estás utilizando la arquitectura basada en clases independientes correctamente. Tienes una clase AppBancaria que maneja la lógica principal de la aplicación, y dos clases adicionales, Cuenta y Cliente, que encapsulan la información relevante para cada entidad.

Aquí hay algunos puntos que podrías considerar para mejorar o expandir tu aplicación:

  1. Encapsulamiento: Actualmente, los atributos saldo, nombre y tipoCuenta son públicos. Podrías considerar hacerlos privados y proporcionar métodos públicos para acceder y modificar estos atributos, siguiendo el principio de encapsulamiento. Por ejemplo:

    public class Cuenta {
        private double saldo;
    
        public double getSaldo() {
            return saldo;
        }
    
        public void setSaldo(double saldo) {
            this.saldo = saldo;
        }
    
        // Métodos consultarSaldo, depositar y retirar permanecen igual
    }
    
  2. Validación de entrada: Podrías agregar validaciones adicionales para asegurarte de que el usuario no ingrese valores negativos al depositar o retirar dinero.

  3. Manejo de excepciones: Considera manejar posibles excepciones que puedan surgir al leer entradas del usuario, como InputMismatchException cuando el usuario ingresa un tipo de dato incorrecto.

  4. Comentarios: Añadir comentarios en tu código puede ayudarte a ti y a otros a entender mejor lo que hace cada parte del programa.

Espero que estas sugerencias te sean útiles. ¡Sigue adelante con tu aprendizaje de Java!

Espero haber ayudado y buenos estudios!