/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package mybank; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * * @author Verde */ public class ContoCorrente { private String nome; private String cognome; private String codiceFiscale; private Date dataDiNascita; private double saldo; private int numeroContoCorrente; private static ArrayList numeriContiCorrenti = new ArrayList<>(); public ContoCorrente(String nome, String cognome, String codiceFiscale, Date dataDiNascita, double saldo, int numeroContoCorrente) { this.nome = nome; this.cognome = cognome; this.codiceFiscale = codiceFiscale; this.dataDiNascita = dataDiNascita; this.saldo = saldo; this.numeroContoCorrente = numeroContoCorrente; numeriContiCorrenti.add(numeroContoCorrente); MyBank.log("Apertura del conto con saldo iniziale di " + this.saldo, numeroContoCorrente); } public static List getNumeriContiCorrenti() { return numeriContiCorrenti; } public int getNumeroContoCorrente() { return numeroContoCorrente; } public void versa(double quantita){ this.saldo += quantita; MyBank.log("Versamento di " + quantita + " effettuato con successo.\nSaldo corrente: " + this.saldo, this.numeroContoCorrente); } public void preleva(double quantita) throws IllegalArgumentException{ if (quantita >= this.saldo) { MyBank.log("Tentato prelievo di " + quantita + " fallito per superamento saldo.\nSaldo corrente: " + this.saldo, this.numeroContoCorrente); throw new IllegalArgumentException("La quantità desiderata eccede il saldo corrente."); } else { this.saldo -= quantita; MyBank.log("Prelievo di " + quantita + " effettuato con successo.\nSaldo corrente: " + this.saldo, this.numeroContoCorrente); } } }