POO con JAVA | Ejercicio Banco - Clientes - Cuentas


package src;

/**
 *
 * @author MYR
 */
public class Banco {
   
    private String nombre;
    private int numClientes;
    private Cliente clientes[];
   
    public Banco(String nom){


       
        this.nombre=nom;
        this.numClientes=0;
       
        this.clientes=new Cliente[10];
    }
   
    public void anadirCliente(String nom, String apellido, int ced){
           
        if (numClientes<10){
           
            Cliente client=new Cliente(nom, apellido, ced);
            clientes[numClientes]=client;
            numClientes=numClientes++;
        }
        else
           
            System.out.println("Error!!: Imposible ingresar nuevos clientes");
       
    }
     public static void main(String[] arguments){
       
        Banco banco1=new Banco("Super Banco");
        banco1.anadirCliente("Carlos", "Perez", 28254435);
        banco1.clientes[0].asignarCuenta("Ahorros");
    }
   
   
   
}

 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package src;

/**
 *
 * @author MYR
 */
public class Cliente {
  
    private String nombre;
    private String apellido;
    private int cedula;
    private Cuenta cuentas[];
    private  int numCuentas;
  
    public Cliente(String nom, String ape, int ced){
      
        this.nombre=nom;
        this.apellido=ape;
        this.cedula=ced;
        this.numCuentas=0;
        this.cuentas=new Cuenta[3];
    }
  
    public String getNombre(){
        String nombreapellido=this.nombre+this.apellido;
        return nombreapellido;
      
    }
  
    public void asignarCuenta(String tipoCuenta){
      
        if (tipoCuenta.equals("Ahorros")){
          
            if (numCuentas<3){
            CuentaAhorros cuenta=new CuentaAhorros(100000, 5);
            this.cuentas[numCuentas]=cuenta;
            this.numCuentas=this.numCuentas++;
        }
        else
            System.out.println("El cliente ya posee un maximo de cuentas, imposible asiganr otra cuenta");
     
          
          
        }
        else
          
            if (tipoCuenta.equals("Corriente")){
          
            if (numCuentas<3){
            CuentaCorriente cuenta=new CuentaCorriente(100000, 1000000);
            this.cuentas[numCuentas]=cuenta;
            this.numCuentas=this.numCuentas++;
        }
        else
            System.out.println("El cliente ya posee un maximo de cuentas, imposible asiganr otra cuenta");
          
        }
      
    }
  
    public void obtenerCuenta(){
      
        int i=0;
        while (i<3){
      
        System.out.println("Numero de cuenta: "+cuentas[i].getNum());
        System.out.println("Tipo de cuenta: "+cuentas[i].getTipo());
        System.out.println("Saldo: "+cuentas[i].getBalance());
        i=i++;
        }
    }
  
  
  
  
}

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package src;

/**Clase Cuenta, representa la plantilla de construccion de nuevos objetos del tipo Cuenta
 *
 * @author MYR
 */
public class Cuenta {
   
    private double balance;
    private int numeroCuenta;
    private static int cuentas;
    private String tipo;
   
      
    public Cuenta(double balanceInicial, String tipo){
       
        this.balance=0;
        this.tipo=tipo;
        while (this.balance<100000){
        if (balanceInicial>=100000){
            this.balance=balanceInicial;
            this.numeroCuenta=Cuenta.cuentas++;
            Cuenta.cuentas=cuentas++;
        }
       
        else{
           
            System.out.println("La cuenta debe ser abierta con un valor igual o superior a $100.000.oo pesos");
           
        }
        }
    }
   
    public double getBalance(){
       
        return this.balance;
       
    }
   
    public void consignar(double monto){
       
        if (monto>0){
           
            this.balance=this.balance+monto;
            System.out.println("Transacción realizada correctamente.");
            System.out.println("Su nuevo saldo es: $"+this.balance+"-- pesos");
        }
           
            else
           
            System.out.println("Imposible realizar la transacción, el monto de la consignación debe ser mayor a $0-- pesos");
        }
   
    public void retirar(double monto){
       
        if (monto<=this.balance){
           
            this.balance=this.balance-monto;
            System.out.println("Transacción realizada correctamente.");
            System.out.println("Usted ha retirado $"+monto+"-- pesos. Su nuevo saldo es: $"+this.balance+"-- pesos");
        }
           
            else
           
            System.out.println("Imposible realizar la transacción");
        }
   
    public void actualizarBalance(double monto){
       
                    this.balance=this.balance+monto;
      
    }
   
    public String getTipo(){
       
        return this.tipo;
    }
   
    public int getNum(){
       
        return this.numeroCuenta;
    }
    }
   

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package src;

/**
 *
 * @author MYR
 */
public class CuentaAhorros extends Cuenta{
   
    private float interes;
    private String tipo;
   
    public CuentaAhorros(double balInicial, float intereses){
       
        super(balInicial, "Ahorros");
        this.interes=intereses;
       
    }
   
    public void actualizarSaldo(){
        double monto;
        monto=(super.getBalance()*this.interes)/100;
        super.actualizarBalance(monto);
    }
   
    public float getInteres(){
        return this.interes;
    }

   
   
}




/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package src;

/**
 *
 * @author MYR
 */
public class CuentaCorriente extends Cuenta{
   
    private double sobregiro;
    private double disponible;
       
     public CuentaCorriente(double balInicial, double sobre){
       
        super(balInicial, "Corriente");
        this.sobregiro=sobre;
        this.disponible=balInicial+sobre;
       
     }
    
    @Override
     public void retirar(double monto){
        this.disponible=this.getBalance()+this.sobregiro;
        if (monto<=(this.disponible)){
            this.disponible=this.disponible-monto;
            this.actualizarBalance(monto*-1);
            System.out.println("Transacción realizada correctamente.");
            System.out.println("Usted ha retirado $"+monto+"-- pesos. Su nuevo saldo es: $"+this.getBalance()+"-- pesos");
            if (this.getBalance()<0)
                System.out.println("!!Atención¡¡ Su saldo esta en rojo");
        }
           
            else
           
            System.out.println("Imposible realizar la transacción");
        }
   
    @Override
    public void consignar(double monto){
       
        super.consignar(monto);
        this.disponible=this.disponible+monto;
       
    }
       
        
     }
    

Comentarios

  1. Gracias esta muy bueno!!! una pregunta como haria para implementar la clase principal?? Ayudaa porfaaa....

    ResponderEliminar
  2. muchas gracias por compartir es justamente lo que estaba buscando
    y una cosa como puedo crear la clase principal...??? me podes ayudar en eso por favor.......
    y gracias de nuevo

    ResponderEliminar
  3. graciassssssssssssssssssssssss

    ResponderEliminar
  4. me podrías pasar tu clase main por favor

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Como hacer un planeador en madera de balso

Como hacer un espectacular velero en madera de balso