• Non ci sono risultati.

Attività: sviluppo e verifica di un programma per la gestione di flusso economico di cassa

N/A
N/A
Protected

Academic year: 2021

Condividi "Attività: sviluppo e verifica di un programma per la gestione di flusso economico di cassa"

Copied!
2
0
0

Testo completo

(1)

Attività: sviluppo e verifica di un programma per la gestione di flusso economico di cassa

Si definisca una classe FinancialHistory le cui istanze conservano informazioni relative alla gestione di un semplice flusso economico di cassa.

La classe deve fornire i seguenti costruttori e metodi:

 un costruttore con argomento numerico che rappresenta l'ammontare iniziale a disposizione;

 un metodo receiveFrom (int amount, String source) che registra una nuova entrata di amount ricevuta da source (ad esempio, "stipendio");

 un metodo void spendFor (int amount, String reason) che registra una nuova uscita di amount spesa per reason (ad esempio, "affitto");

 un metodo int cashOnHand () che restituisce il contante disponibile;

 un metodo int totalReceivedFrom (String source) che restituisce il totale delle entrate ricevute da source (0 di default);

 un metodo int totalSpentFor (String reason) che restituisce il totale delle uscite spese per reason (0 di default).

NB: Implementare le liste delle entrate e delle uscite utilizzando la classe predefinita Hashtable.

Si aggiunga un trattamento con eccezioni delle seguenti situazioni:

 passaggio come parametro di un ammontare negativo

 "bilancio in rosso" (cioè si tenta di spendere più di quel che si ha).

Si definisca poi una classe derivata DeductibleHistory che tiene anche conto di quali sono le spese deducibili nella dichiarazione dei redditi. La deduzione fiscale può essere effettuata solo se il totale delle spese deducibili supera un certo minimo minDeductions.

Si implementi quindi:

 un metodo di classe setMinDeductions che assegna un valore a tale minimo

 un metodo spendDeductibleFor (int amount, String reason) che registra un'uscita deducibile

 un metodo double totalDeductions () che ritorna il totale delle spese deducibili

 un metodo boolean isDeductible () che ritorna vero solo se la deduzione fiscale può essere effettuata.

Formichi, Meini – Corso di informatica © 2013 Zanichelli Editore S.p.A.

Riferimenti