04.06.2008 | 22:12:22
immagine
Ing. Emanuele Scapin

Java, es1, la banca
  • Gestione di una banca, con definizione degli oggetti utente (per gli intestatari dei conti), l'oggetto conto corrente e nella banca la gestione della collezione di conti correnti tramite list.

     

  • Definizione dell'oggetto Utente, propedeutico all'oggetto conto corrente in quanto usato in esso per definire l'intestatario.

    package banche;
    
    /**
     * Classe per la gestione dell'utente
     */
    public class Utente {
       private String nome;
       private String cognome;
       private String comune;
       private String indirizzo;
       
       public Utente() {}
       
       public Utente(String nome, String cognome) {
           this.nome = nome;
           this.cognome = cognome;
       }
       
       public void setCognome(String cognome) {
           this.cognome = cognome;
       }
       public String getCognome() {
           return this.cognome;
       }
       
       public void setNome(String nome) {
           this.nome = nome;
       }
       public String getNome() {
           return this.nome;
       }
       
       public void setComune(String comune) {
           this.comune = comune;
       }
       public String getComune() {
           return this.comune;
       }
       
       public void setIndirizzo(String indirizzo) {
           this.indirizzo = indirizzo;
       }
       public String getIndirizzo() {
           return this.indirizzo;
       }  
       
       @Override
       public String toString() {
           return (cognome+","+nome+","+comune+","+indirizzo);
       }
    }
            
  • Definizione dell'oggetto Conto corrente, con l'intestatario del conto definito tramite oggetto Utente.

    package banche;
    
    /**
     * Gestione conto corrente bancario
     */
    public class ContoCorrente {
        private String numero;
        private double saldo = 0;
        private Utente intestatario;
        
        public ContoCorrente() {}
        
        public ContoCorrente(String numero, String nome, String cognome) {
            if (numero.length() > 0) {
              this.numero = numero;
              intestatario = new Utente(nome, cognome);
            }
        }
        
        public ContoCorrente(String numero, Utente intestatario) {
            if (numero.length() > 0) {
              this.numero = numero;
              this.intestatario = intestatario;
            }
        }    
        
        public void setNumero(String numero) {
            this.numero = numero;
        }
        public String getNumero() {
            return this.numero;
        }    
        
        public void setIntestatario(String nome, String cognome) {
            intestatario = new Utente(nome, cognome);
        }
        public void setIntestatario(Utente intestatario) {
            this.intestatario = intestatario;
        }  
        
        public Utente getIntestatario() {
            return intestatario;
        }
                   
        public void Preleva(double valore) {
            if ((saldo - valore) > 0) {
                saldo -= valore;
            }
        }
        
        public void Versa(double valore) {
            saldo += valore;
        }
        
        public double getSaldo() {
            return saldo;
        }
        
       @Override
       public String toString() {
           String ret = "";
           
           if (intestatario != null) {
             ret = (numero+","+saldo+","+intestatario.getCognome()+","+intestatario.getNome());
           }
           
           return ret;
       }    
    }        
  • Definizione dell'oggetto Banca, con gestione della lista dei conti presenti.

    package banche;
    
    import java.util.ArrayList;
    
    /**
     * Gestione della banca come insieme di conti correnti.
     */
    public class Banca {
       private String nome;
       private String cab;
       private ArrayList<ContoCorrente> conti = new ArrayList<ContoCorrente>();
       
       public Banca() {}
       
       public Banca(String nome) {
           this.nome = nome;
       }  
       
       public Banca(String nome, String cab) {
           this.nome = nome;
           this.cab  = cab;
       }  
       
       public void setNome(String nome) {
           this.nome = nome;
       }
       public String getNome() {
           return this.nome;
       }  
       
       public void setCab(String cab) {
           this.cab = cab;
       }
       public String getCab() {
           return this.cab;
       } 
       
       public int addConto(String numero, String nome, String cognome) {
           int ret = -1;
           if (numero.length() > 0) {
               ContoCorrente conto = new ContoCorrente(numero, nome, cognome);
               conti.add(conto);
               ret = 0;
           }
           return ret;
       }
       
       public void delAllConti() {
           conti.clear();
       }
       
       public int delConto(String numero) {
    // codice sostituito dall'uso di getIndiceConto        
    //       int ret = -1;
    //       
    //       if (numero.length() > 0) {
    //           // ricerca del conto
    //           boolean trovato = false;
    //           int i = 0;
    //           while(i < conti.size() && !trovato) {
    //               if(numero.equals(conti.get(i).getNumero())) { 
    //                   trovato = true;
    //               }
    //               else {
    //                   i++;
    //               }
    //           }
    //           if (trovato) {
    //               conti.remove(i);
    //               ret = 0;
    //           }
    //       }
           int ret = getIndiceConto(numero);
           if (ret >  -1) {
               conti.remove(ret);
           }
           
           return ret;
       }
       
       public ContoCorrente getConto(String numero) {
           ContoCorrente ret = null;
    // codice sostituito dall'uso di getIndiceConto     
    //       if (numero.length() > 0) {
    //           // ricerca del conto
    //           boolean trovato = false;
    //           int i = 0;
    //           while(i < conti.size() && !trovato) {
    //               if(numero.equals(conti.get(i).getNumero())) { 
    //                   trovato = true;
    //               }
    //               else {
    //                   i++;
    //               }
    //           }
    //           if (trovato) {
    //               ret = conti.get(i);
    //           }
    //       }
           
           int ind = getIndiceConto(numero);
           if (ind >  -1) {
               ret = conti.get(ind);
           }      
           return ret;       
       }
       
       public int getNumConti() {
           return conti.size();
       }
       
       private int getIndiceConto(String numero) {
           int ret = -1;
           
           if (numero.length() > 0) {
               // ricerca del conto
               boolean trovato = false;
               int i = 0;
               while(i < conti.size() && !trovato) {
                   if(numero.equals(conti.get(i).getNumero())) { 
                       trovato = true;
                   }
                   else {
                       i++;
                   }
               }
               if (trovato) {
                   ret = i;
               }
           }
           
           return ret;       
       }
    }
            
  •  


© Emanuele Scapin 2009-2013

 

Valid HTML 4.01! Valid CSS!