Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package banco;
- import java.util.List;
- import java.time.LocalDateTime;
- /**
- * @author zelda
- */
- public class Banco {
- public class Cliente {
- private String NIF;
- private String nombre;
- private String apellidos;
- private List<String> telefonos;
- private List<String> direcciones;
- public Cliente(String nif, String nombre, String apellidos){
- this.NIF = nif;
- this.nombre = nombre;
- this.apellidos = apellidos;
- }
- public String getNIF(){
- return this.NIF;
- }
- public void setNIF(String nif){
- if (nif.trim().length() == 9)
- this.NIF = nif;
- }
- public String getNombre(){
- return this.nombre;
- }
- public void setNombre(String nombre){
- if (nombre.trim().length() > 0)
- this.nombre = nombre.trim();
- }
- public String getApellidos(){
- return this.apellidos;
- }
- public void setApellidos(String apellidos){
- if (apellidos.trim().length() > 0)
- this.apellidos = apellidos.trim();
- }
- public void añadirTelefono(String telefono){
- if (telefono.trim().matches("\\d{9}"))
- telefonos.add(telefono.trim());
- }
- public void mostrarTelefonos(){
- int longitud = telefonos.size();
- System.out.println("============= Teléfonos del cliente =============");
- if (longitud > 0){
- for (String numero : telefonos)
- System.out.println(numero);
- } else
- System.out.println("No hay números registrados.");
- System.out.println("=================================================");
- }
- public void añadirDireccion(String direccion){
- if (direccion.trim().length() > 0)
- direcciones.add(direccion.trim());
- }
- public void mostrarDirecciones(){
- int longitud = direcciones.size();
- System.out.println("============= Direcciones registradas =============");
- if (longitud > 0){
- for (String direccion : direcciones)
- System.out.println(direccion);
- } else
- System.out.println("No hay direcciones registradas.");
- System.out.println("===================================================");
- }
- }
- public class Movimiento {
- private CuentaCorriente cuenta_titular;
- private CuentaCorriente cuenta_destinataria;
- private double cuantia;
- private String concepto;
- private LocalDateTime fecha = null;
- public Movimiento(CuentaCorriente cuenta, double cantidad){
- this.cuenta_titular = null;
- this.cuenta_destinataria = cuenta;
- this.cuantia = cantidad;
- this.concepto = "Operacion desde el cajero.";
- }
- public Movimiento(CuentaCorriente cuentat, CuentaCorriente cuentad, double cantidad, String cooncepto){
- this.cuenta_titular = cuentat;
- this.cuenta_destinataria = cuentad;
- this.cuantia = cantidad;
- this.concepto = concepto;
- }
- public CuentaCorriente getCuentaTitular(){
- return this.cuenta_titular;
- }
- public CuentaCorriente getCuentaDestinataria(){
- return this.cuenta_destinataria;
- }
- public double getCuantia() {
- return this.cuantia;
- }
- public String getConcepto(){
- return this.concepto;
- }
- public void setConcepto(String concepto){
- this.concepto = concepto;
- }
- public LocalDateTime getFecha(){
- return this.fecha;
- }
- // Faltaría implementar una transacción en el proceso.
- public void realizar(){
- if (cuenta_titular != null)
- cuenta_titular.retirar(cuantia);
- cuenta_destinataria.ingresar(cuantia);
- fecha = LocalDateTime.now();
- }
- public void cancelar(){
- this.cuenta_titular = null;
- this.cuenta_destinataria = null;
- this.cuantia = 0;
- this.concepto = null;
- this.fecha = null;
- }
- }
- public class CuentaCorriente {
- private int ID;
- private Cliente cliente;
- private double saldo;
- private List<Movimiento> historial;
- private String estado = "activa";
- public CuentaCorriente(int id, Cliente cliente){
- this.ID = id;
- this.cliente = cliente;
- this.saldo = 0;
- }
- public CuentaCorriente(int id, Cliente cliente, double saldo){
- this.ID = id;
- this.cliente = cliente;
- this.saldo = saldo;
- }
- public int getID(){
- return this.ID;
- }
- public Cliente getCliente(){
- return this.cliente;
- }
- public double consultar(){
- return this.saldo;
- }
- public String getEstado(){
- return this.estado;
- }
- public void ingresar(double cantidad){
- if (cantidad > 0){
- Movimiento ingreso = new Movimiento(this, cantidad);
- historial.add(ingreso);
- this.saldo += cantidad;
- }
- }
- public void retirar(double cantidad){
- if (cantidad > 0){
- if (cantidad > saldo){
- Movimiento retiro = new Movimiento(this, cantidad);
- historial.add(retiro);
- this.saldo -= cantidad;
- } else
- System.out.println("Saldo insuficiente.");
- }
- }
- public void ultimoMovimientos(){
- int longitud = historial.size();
- System.out.println("============= Últimos movimientos =============");
- if (longitud > 0){
- int muestras;
- if (longitud > 10)
- muestras = 10;
- else
- muestras = longitud;
- List<Movimiento> ultimos = historial.subList(longitud - muestras, longitud);
- for (Movimiento movimiento : ultimos)
- System.out.printf(" %-25.25s%-25.25s%-75.75s%-8d%-30s\n",
- movimiento.cuenta_titular.cliente.nombre + "" +
- movimiento.cuenta_titular.cliente.apellidos,
- movimiento.cuenta_destinataria.cliente.nombre + "" +
- movimiento.cuenta_destinataria.cliente.apellidos,
- movimiento.concepto,
- movimiento.cuantia,
- movimiento.fecha);
- } else
- System.out.println("No hay movimientos en la cuenta.");
- System.out.println("===============================================");
- }
- public void suspender(){
- this.retirar(saldo);
- this.estado = "inactiva";
- }
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- // TODO code application logic here
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement