Class ContoCorrente

java.lang.Object
  |
  +--ContoCorrente
All Implemented Interfaces:
Comparabile
Direct Known Subclasses:
ContoCorrenteConSpese

public class ContoCorrente
extends java.lang.Object
implements Comparabile

Rappresenta un conto corrente in una banca


Field Summary
static ContoCorrente[] arrayOfContoCorrente
          Array dei conti correnti della banca
static int capitaleSocialeBanca
          Capitale sociale iniziale della Banca
static Data data
          Data corrente espressa in giorni
 
Constructor Summary
ContoCorrente(java.lang.String nome)
          Costruttore per l'oggetto ContoCorrente con un dato nome, con saldo iniziale pari a zero e con numero assegnato automaticamente in base a numerazioneConti
ContoCorrente(java.lang.String nome, int saldoIniziale)
          Costruttore per l'oggetto ContoCorrente con un dato nome, con saldo iniziale pari a saldoIniziale, con numero assegnato automaticamente in base a numerazioneConti aggiornando totaleSoldiBanca e inserendo il conto in arrayOfContoCorrente
 
Method Summary
 int calcoloCompetenze()
          Calcola le competenze spettanti ad un conto corrente, interesse maturato meno spese di tenuta conto
 void calcoloSaldoFinale()
          Addebita o accredita sul conto le competenze relative ad un periodo calcolate con calcoloCompetenze
static void chiudiTuttiIConti()
          Chiude tutti i conti memorizzati nell'arrayOfContoCorrente
 int compara(Comparabile ob)
          Confronta oggetti di tipo ContoCorrente in base al loro saldo.
 void deposita(int valore)
          Controlla che valore sia positivo, aggiorna interessseMaturato in base al saldo precedente ed effettua il deposito se valore e' negativo non effettua nessuna operazione ma viene sollevata un eccezione di tipo MovimentoErrato
static void deposita(int valore, int numConto)
          Depostito sul conto con nomeCorrentista = nome
static void deposita(int valore, java.lang.String nome)
          Depostito sul conto con nomeCorrentista = nome
 ContoCorrente getContoCorrente(int numConto)
          Restituisce un conto corrente a partire dal suo numero
static ContoCorrente getContoCorrente(java.lang.String nome)
          Restituisce un conto corrente a partire dal suo nomeCorrentista
static int getIndiceUltimoConto()
          Restituisce l'indice dell'ultimo conto aperto
 int getInteresseMaturato()
          Restituisce l'interesse maturato ma non ancora accreditato o addebitato
 java.lang.String getNomeCorrentista()
          Restituisce il nome del correntista
static java.lang.String getNomeCorrentista(int numConto)
          Restituisce il nome del titolare di un conto corrente sapendo il numero di cc
static int getNumContoCorrente(java.lang.String nome)
          Restituisce il numero di un conto corrente a partire dal suo nomeCorrentista
static int getNumerazioneConti()
          Restituisce il numero di conti aperti
 int getNumeroConto()
          Restituisce il numero del conto
 int getSaldo()
          Restituisce il saldo di un conto corrente
static int getSaldo(int numConto)
          Restituisce il saldo di un conto corrente
static int getSaldo(java.lang.String nome)
          Restituisce l'attributo saldo di un conto corrente sapendo il nome
static int getTotaleSoldiBanca()
          Restituisce il totale dei soldi della banca
static void interesseFinaleTotale()
          Calcola gli interessi su tutti i conti della banca
 void preleva(int valore)
          Come deposita ma per il prelievo.
static void preleva(int valore, int numConto)
          Prelievo sul conto con nomeCorrentista = nome
static void preleva(int valore, java.lang.String nome)
          Esegue un prelievo sul conto di nome
static void saldoFinaleTotale()
          Calcola il saldo finale su tutti i conti della banca
static void stampaTuttiIConti()
          Stampa tutti i conti presenti nell'arrayOfContoCorrente
 java.lang.String toString()
          Stampa a video del conto corrente
 void trasferisci(int valore, ContoCorrente altroContoCorrente)
          Permette di trasferire una somma di denaro da un conto ad un altro della stessa banca
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

data

public static Data data
Data corrente espressa in giorni

capitaleSocialeBanca

public static final int capitaleSocialeBanca
Capitale sociale iniziale della Banca

arrayOfContoCorrente

public static ContoCorrente[] arrayOfContoCorrente
Array dei conti correnti della banca
Constructor Detail

ContoCorrente

public ContoCorrente(java.lang.String nome,
                     int saldoIniziale)
Costruttore per l'oggetto ContoCorrente con un dato nome, con saldo iniziale pari a saldoIniziale, con numero assegnato automaticamente in base a numerazioneConti aggiornando totaleSoldiBanca e inserendo il conto in arrayOfContoCorrente
Parameters:
saldoIniziale - Saldo iniziale del conto
nome - Nome del correntista

ContoCorrente

public ContoCorrente(java.lang.String nome)
Costruttore per l'oggetto ContoCorrente con un dato nome, con saldo iniziale pari a zero e con numero assegnato automaticamente in base a numerazioneConti
Parameters:
nome - Nome del correntista
Method Detail

getTotaleSoldiBanca

public static int getTotaleSoldiBanca()
Restituisce il totale dei soldi della banca
Returns:
Il valore di totaleSoldiBanca

getNumerazioneConti

public static int getNumerazioneConti()
Restituisce il numero di conti aperti
Returns:
Il valore di numerazioneConti

getIndiceUltimoConto

public static int getIndiceUltimoConto()
Restituisce l'indice dell'ultimo conto aperto
Returns:
L'indice dell'ultimo conto aperto

getNumeroConto

public int getNumeroConto()
Restituisce il numero del conto
Returns:
Il valore di numeroConto

getNomeCorrentista

public java.lang.String getNomeCorrentista()
Restituisce il nome del correntista
Returns:
Il valore di nomeCorrentista

getNomeCorrentista

public static java.lang.String getNomeCorrentista(int numConto)
                                           throws MovimentoErrato
Restituisce il nome del titolare di un conto corrente sapendo il numero di cc
Parameters:
numConto - Numero del Conto Corrente
Returns:
Il titolare del conto corrente
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

getNumContoCorrente

public static int getNumContoCorrente(java.lang.String nome)
                               throws MovimentoErrato
Restituisce il numero di un conto corrente a partire dal suo nomeCorrentista
Parameters:
nome - Proprietario del conto corrente
Returns:
Il numero del conto corrente
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

getSaldo

public int getSaldo()
Restituisce il saldo di un conto corrente
Returns:
Il valore di saldo

getSaldo

public static int getSaldo(int numConto)
                    throws MovimentoErrato
Restituisce il saldo di un conto corrente
Parameters:
numConto - Numero del conto
Returns:
Il valore di saldo
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

getSaldo

public static int getSaldo(java.lang.String nome)
                    throws MovimentoErrato
Restituisce l'attributo saldo di un conto corrente sapendo il nome
Parameters:
nome - Nome del correntista
Returns:
Il valore di saldo
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

getInteresseMaturato

public int getInteresseMaturato()
Restituisce l'interesse maturato ma non ancora accreditato o addebitato
Returns:
Il valore di interesseMaturato

getContoCorrente

public ContoCorrente getContoCorrente(int numConto)
Restituisce un conto corrente a partire dal suo numero
Parameters:
numConto - Numero del conto corrente
Returns:
Il valore di contoCorrente

getContoCorrente

public static ContoCorrente getContoCorrente(java.lang.String nome)
                                      throws MovimentoErrato
Restituisce un conto corrente a partire dal suo nomeCorrentista
Parameters:
nome - Proprietario del conto corrente
Returns:
Il valore di contoCorrente
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

toString

public java.lang.String toString()
Stampa a video del conto corrente
Overrides:
toString in class java.lang.Object
Returns:
Stampa a video del conto corrente

stampaTuttiIConti

public static void stampaTuttiIConti()
Stampa tutti i conti presenti nell'arrayOfContoCorrente

deposita

public void deposita(int valore)
              throws MovimentoErrato
Controlla che valore sia positivo, aggiorna interessseMaturato in base al saldo precedente ed effettua il deposito se valore e' negativo non effettua nessuna operazione ma viene sollevata un eccezione di tipo MovimentoErrato
Parameters:
valore - Somma di denaro da depositare
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

deposita

public static void deposita(int valore,
                            java.lang.String nome)
                     throws MovimentoErrato
Depostito sul conto con nomeCorrentista = nome
Parameters:
valore - Somma di denaro da depositare
nome - Nome del correntista
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

deposita

public static void deposita(int valore,
                            int numConto)
                     throws MovimentoErrato
Depostito sul conto con nomeCorrentista = nome
Parameters:
valore - Somma di denaro da depositare
numConto - Numero del Conto
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

preleva

public void preleva(int valore)
             throws MovimentoErrato
Come deposita ma per il prelievo. Inoltre effettua il controllo se il saldo diventa negativo, che il passivo non superi il massimo scoperto ammesso e inoltre che la banca abbia abbastanza soldi in modo che la banca se il valore e' negativo viene sollevata un'eccezione di tipo MovimentoErrato
Parameters:
valore - Somma di denaro da prelevare
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

preleva

public static void preleva(int valore,
                           java.lang.String nome)
                    throws MovimentoErrato
Esegue un prelievo sul conto di nome
Parameters:
valore - Somma da prelevare
nome - Correntista
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

preleva

public static void preleva(int valore,
                           int numConto)
                    throws MovimentoErrato
Prelievo sul conto con nomeCorrentista = nome
Parameters:
valore - Somma di denaro da prelevare
numConto - Numero del Conto
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

trasferisci

public void trasferisci(int valore,
                        ContoCorrente altroContoCorrente)
                 throws MovimentoErrato
Permette di trasferire una somma di denaro da un conto ad un altro della stessa banca
Parameters:
valore - Somma di denaro da trasferire
altroContoCorrente - Conto corrente destinatario del trasferimento
Throws:
MovimentoErrato - Eccezione di tipo MovimentoErrato

calcoloCompetenze

public int calcoloCompetenze()
Calcola le competenze spettanti ad un conto corrente, interesse maturato meno spese di tenuta conto
Returns:
Interessi maturati meno il forfait spese

calcoloSaldoFinale

public void calcoloSaldoFinale()
Addebita o accredita sul conto le competenze relative ad un periodo calcolate con calcoloCompetenze

saldoFinaleTotale

public static void saldoFinaleTotale()
Calcola il saldo finale su tutti i conti della banca

interesseFinaleTotale

public static void interesseFinaleTotale()
Calcola gli interessi su tutti i conti della banca

chiudiTuttiIConti

public static void chiudiTuttiIConti()
Chiude tutti i conti memorizzati nell'arrayOfContoCorrente

compara

public int compara(Comparabile ob)
            throws java.lang.ClassCastException
Confronta oggetti di tipo ContoCorrente in base al loro saldo. Nota: non ho considerato il caso in cui il puntatore fosse nullo poiche' applico un selection sort da 0 a num conti: magari meno elegante che tuttavia non chiama il metodo compara sugli n-numConti "null"
Specified by:
compara in interface Comparabile
Parameters:
ob - Oggetto
Returns:
1,-1,0 a seconda che un'oggetto sia <, > o = ad ob
Throws:
java.lang.ClassCastException - Eccezione di tipo ClassCast