//******************************************************************** // ContoBancario.java // // Rappresentare un conto in banca con semplici servizi come // versamenti e prelievi. //******************************************************************** import java.text.NumberFormat; public class ContoBancario { private NumberFormat fmt = NumberFormat.getCurrencyInstance(); private final double TASSO = 0.045; // interesse del 4.5% private long numeroConto; private double saldo; private String nome; //----------------------------------------------------------------- // Costruttore: definisce il conto mediante il nome del proprietario, // numero del conto e deposito iniziale. //----------------------------------------------------------------- public ContoBancario (String proprietario, long conto, double iniziale) { nome = proprietario; numeroConto = conto; saldo = iniziale; } //----------------------------------------------------------------- // Valida le transazioni, poi deposita sul conto l'ammontare specificato // Produce il nuovo estratto conto. //----------------------------------------------------------------- public double deposita (double tot) { if (tot < 0) // il deposito e` negativo { System.out.println (); System.out.println ("Errore: deposito negativo."); System.out.println (numeroConto + " " + fmt.format(tot)); } else saldo = saldo + tot; return saldo; } //----------------------------------------------------------------- // Valida la transazione, poi preleva dal conto l'ammontare specificato // aumentato dalla spesa per la transazione. Riporta il nuovo saldo. //----------------------------------------------------------------- public double preleva (double tot, double costo) { tot += costo; if (tot < 0) // prelievo negativo { System.out.println (); System.out.println ("Errore: l'ammontare del prelievo non e` valido."); System.out.println ("Conto: " + numeroConto); System.out.println ("Richiesta: " + fmt.format(tot)); } else if (tot > saldo) // prelievo eccede il disponibile { System.out.println (); System.out.println ("Errore: deposito insufficiente."); System.out.println ("Conto: " + numeroConto); System.out.println ("Richiesta: " + fmt.format(tot)); System.out.println ("Disponibile: " + fmt.format(saldo)); } else saldo = saldo - tot; return saldo; } //----------------------------------------------------------------- // Aggiunge interessi al conto e riporta il nuovo estratto. //----------------------------------------------------------------- public double aggInteressi () { saldo += (saldo * TASSO); return saldo; } //----------------------------------------------------------------- // Riporta il saldo attuale del conto corrente. //----------------------------------------------------------------- public double getSaldo () { return saldo; } //----------------------------------------------------------------- // Riporta il numero del conto. //----------------------------------------------------------------- public long getNumeroConto () { return numeroConto; } //----------------------------------------------------------------- // Riporta la descrizione del conto come stringa. //----------------------------------------------------------------- public String toString () { return (numeroConto + "\t" + nome + "\t" + fmt.format(saldo)); } }