• Non ci sono risultati.

Una carta di credito ha un nome, un numero, un conto bancario (oggetto della classe ContoBancario allegata), un circuito (Visa, Mastercard, etc.) ed una scadenza

N/A
N/A
Protected

Academic year: 2021

Condividi "Una carta di credito ha un nome, un numero, un conto bancario (oggetto della classe ContoBancario allegata), un circuito (Visa, Mastercard, etc.) ed una scadenza"

Copied!
1
0
0

Testo completo

(1)

Programmazione II Appello 14/06/2012

Pag. 1 Non è consentito usare libri o appunti.

1. [13 punti] Implementare il concetto di carta di credito (classe CartaCredito). Una carta di credito ha un nome, un numero, un conto bancario (oggetto della classe ContoBancario allegata), un circuito (Visa, Mastercard, etc.) ed una scadenza.

Dotare la classe CartaCredito di un’interfaccia pubblica adeguata.

La durata di una carta di credito è almeno quinquennale, pertanto non è possibile creare un oggetto CartaCredito la cui data di scadenza è antecedente a 5 anni dalla data di creazione.

Implementare un metodo predicativo che verifica se la carta è scaduta.

Verificare se la carta è scaduta prima di eseguire le operazioni sulla carta.

Sovrascrivere opportunamente i metodi equals, toString e clone nelle classi CartaCredito e ContoBancario. Il metodo equals deve implementare il concetto di equivalenza che due carte di credito sono uguali se hanno lo stesso numero di carta, la stessa data di scadenza e lo stesso numero di conto.

Creare una classe di test che mostri il corretto funzionamento dei metodi implementati. In particolare, il programma deve creare 2 carte di credito, effettuare la clonazione della seconda carta, eseguire 10 operazioni di prelievo di una somma casuale su una carta di credito scelta a caso, infine verificare l’uguaglianza tra le tre istanze ottenute. Stampare a video il risultato.

2. [4 punti] Modificare i metodi preleva e deposita della classe ContoBancario facendo in modo che se il valore del parametro esplicito è negativo il metodo lancia l’eccezione controllata BadArgumentException (eccezione da definire).

3. [13 punti] Implementare in Java la finestra seguente:

Nella casella combinata devono essere caricati i numeri di 3 carte di credito.

Nella casella Importo l’utente deve inserire un numero con virgola.

Alla pressione del pulsante deposita occorre aggiornare il saldo della carta di credito (corrispondente al numero di carta selezionato). Nell’esempio precedente il conto legato alla carta di credito con numero 1234 dovrà essere incrementato di 3000.

Alla pressione del pulsante preleva occorre decrementare dal saldo la somma specificata in importo.

Occorre aggiornare il totale sia quando si clicca su deposita e preleva, sia quando si sceglie il numero di carta. Ad esempio, se si sceglie dalla casella combinata la carta con numero 3244, il totale sarà aggiornato con il saldo di tale carta di credito.

Nel caso in cui l’utente inserisce un importo negativo occorre gestire l’eccezione controllata lanciata dal metodo della classe ContoBancario e continuare l’esecuzione del programma, nel caso in cui l’importo non è un numero occorre interrompere il programma.

Riferimenti

Documenti correlati

Relativamente alla Carta di credito sussistono rischi connessi a variazioni del tasso d’interesse e di cambio applicato (per utilizzi effettuati in valuta estera), collegate

[r]

Presso il servizio clienti in tutte le filiali LIPO può trovare informazioni sul codice a barre LIPO e sul suo futuro programma fedeltà

- hanno importo pari o inferiore a 30 euro e l’importo cumulativo delle Operazioni di pagamento su internet effettuate a partire dalla data dell’ultimo utilizzo

- digitando i dati della carta virtuale o della Carta e le credenziali di autenticazione indicate nella Guida al Servizio a distanza; questa modalità è utilizzabile sui siti

[r]

A scopo meramente esemplificativo e non limitativo, la sospensione della Carta e dei servizi ad essa collegati o la riduzione del Fido potrà avvenire in caso di comunicazione di

Alle carte revolving è associata una linea di credito di tipo rotativo: ciò significa che ogni volta che il Professionista o il Dipendente effettua acquisti o Operazioni di anticipo