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

Java, es1, la banca, interfaccia carattere (console)
  • Gestione di una banca, inserimento, lettura, cancellazione dei dati tramite interfaccia carattere (console).
    Permette di inserire, leggere e cancellare i dati delle banche, e per una data banca inserire, leggere, cancellare i conti correnti presenti.

     

  • Definizione di un oggetto consumer che gestisce l'interfaccia.
    Notare che le precedenti classi non utilizzano l'interfaccia di ingresso e di uscita, queste interfaccie vengono utilizzate solamente dalla classe che gestisce i consumer.

    package banche;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    /**
     * Consumer gestione banche
     */
    public class Banche {
        // costanti
        private static final String FINE = "9";
        
        private ArrayList<Banca> lista = new ArrayList<Banca>();
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            // definizione menù
            Banche main = new Banche();
            InputStreamReader stream = new InputStreamReader(System.in);
            BufferedReader tastiera = new BufferedReader(stream); 
            String scelta = "0";
            do {
              System.out.println("\nSelezionare azione desiderata");  
              System.out.println("1 Inserimento banca");  
              System.out.println("2 Ricerca banca");  
              System.out.println("3 Lettura banca");  
              System.out.println("4 Cancellazione banca");  
    
              System.out.println("10 Inserimento conto");  
              System.out.println("11 Ricerca conto");  
              System.out.println("12 Lettura conto");  
              System.out.println("13 Cancellazione conto"); 
              
              System.out.println("9 Fine");  
              System.out.println(" ");  
              
              try {
                    scelta = tastiera.readLine();
              } catch (IOException ex) {
                    Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                    scelta = "0";
              }
              
              int sv = Integer.parseInt(scelta);
              
              switch(sv) {
                  case 1: main.InsBanca(); break;
                  case 2: main.TrovaBanca(); break;
                  case 3: main.DatiBanca(); break;
                  case 4: main.CancBanca(); break;  
                  case 11: main.InsContoBanca(); break;
                  case 12: main.TrovaContoBanca(); break;
                  case 13: main.DatiContoBanca(); break;
                  case 14: main.CancContoBanca(); break;
                  //case 9: break;
              }
              
            } while(!scelta.equals(FINE));
            
            System.out.println("Fine applicazione");
        }
        
        public void InsBanca() {
            InputStreamReader stream = new InputStreamReader(System.in);
            BufferedReader tastiera = new BufferedReader(stream); 
            System.out.println("Inserire nome banca da creare");
            String nome;
            try {
                nome = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                nome = "";
            }
            
            addBanca(nome);
        }
        
        public void CancBanca() {  
            InputStreamReader stream = new InputStreamReader(System.in);
            BufferedReader tastiera = new BufferedReader(stream); 
            System.out.println("Inserire nome banca da creare");
            String nome;
            try {
                nome = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                nome = "";
            }
            
            int ret = delBanca(nome);    
            if (ret > -1) {
                System.out.println("Cancellazione eseguita");
            }
            else {
                System.out.println("Cancellazione fallita");
            }
        }
        
        public void TrovaBanca() {  
            InputStreamReader stream = new InputStreamReader(System.in);
            BufferedReader tastiera = new BufferedReader(stream); 
            System.out.println("Inserire nome banca da creare");
            String nome;
            try {
                nome = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                nome = "";
            }
            
            int ret = getIndexBanca(nome);
            if (ret > -1) {
                System.out.println("Banca presente");
            }
            else {
                System.out.println("Banca non presente");
            }
        } 
        
        public void DatiBanca() {  
            InputStreamReader stream = new InputStreamReader(System.in);
            BufferedReader tastiera = new BufferedReader(stream); 
            System.out.println("Inserire nome banca da creare");
            String nome;
            try {
                nome = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                nome = "";
            }
            
            Banca b = this.getBanca(nome);
            if (b != null) {
                System.out.println("Banca presente");
                System.out.println("Nome banca = " + b.getNome());
                System.out.println("Numero conti banca = " + b.getNumConti());
            }
            else {
                System.out.println("Banca non presente");
            }
        }  
        
        public void InsContoBanca() {
            InputStreamReader stream = new InputStreamReader(System.in);
            BufferedReader tastiera = new BufferedReader(stream); 
            System.out.println("Inserire nome banca da creare");
            String nome;
            try {
                nome = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                nome = "";
            }
            
            System.out.println("Inserire numero conto");
            String numero;
            try {
                numero = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                numero = "";
            }    
            System.out.println("Inserire nome correntista");
            String nomec;
            try {
                nomec = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                nomec = "";
            }         
            System.out.println("Inserire cognome correntista");
            String cognc;
            try {
                cognc = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                cognc = "";
            }   
                   
            Banca b = this.getBanca(nome);
            if (b != null) {
                System.out.println("Banca presente");
                b.addConto(numero, nome, cognc);
                System.out.println("Conto inserito");
            }
            else {
                System.out.println("Banca non presente");
            }
        }  
        
        public void TrovaContoBanca() {
            InputStreamReader stream = new InputStreamReader(System.in);
            BufferedReader tastiera = new BufferedReader(stream); 
            System.out.println("Inserire nome banca da creare");
            String nome;
            try {
                nome = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                nome = "";
            }
            
            System.out.println("Inserire numero conto");
            String numero;
            try {
                numero = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                numero = "";
            }    
                   
            Banca b = this.getBanca(nome);
            if (b != null) {
                System.out.println("Banca presente");
                ContoCorrente ret = b.getConto(numero);
                if (ret != null) {
                    System.out.println("Conto presente");
                }
                else {
                    System.out.println("Conto non presente");
                }
            }
            else {
                System.out.println("Banca non presente");
            }
        }  
        
        public void DatiContoBanca() {
            InputStreamReader stream = new InputStreamReader(System.in);
            BufferedReader tastiera = new BufferedReader(stream); 
            System.out.println("Inserire nome banca da creare");
            String nome;
            try {
                nome = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                nome = "";
            }
            
            System.out.println("Inserire numero conto");
            String numero;
            try {
                numero = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                numero = "";
            }    
                   
            Banca b = this.getBanca(nome);
            if (b != null) {
                System.out.println("Banca presente");
                ContoCorrente ret = b.getConto(numero);
                if (ret != null) {
                    System.out.println("Conto presente");
                    System.out.println("intestatario = " + ret.getIntestatario().getCognome() + ", " + ret.getIntestatario().getNome());
                    System.out.println("numero = " + ret.getNumero());
                    System.out.println("saldo = " + ret.getSaldo());
                }
                else {
                    System.out.println("Conto non presente");
                }
            }
            else {
                System.out.println("Banca non presente");
            }
        }   
        
        public void CancContoBanca() {
            InputStreamReader stream = new InputStreamReader(System.in);
            BufferedReader tastiera = new BufferedReader(stream); 
            System.out.println("Inserire nome banca da creare");
            String nome;
            try {
                nome = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                nome = "";
            }
            
            System.out.println("Inserire numero conto");
            String numero;
            try {
                numero = tastiera.readLine();
            } catch (IOException ex) {
                Logger.getLogger(Banche.class.getName()).log(Level.SEVERE, null, ex);
                numero = "";
            }    
                   
            Banca b = this.getBanca(nome);
            if (b != null) {
                System.out.println("Banca presente");
                ContoCorrente ret = b.getConto(numero);
                if (ret != null) {
                    System.out.println("Conto presente");
                    int ris = b.delConto(numero);
                    if (ris > -1) {
                        System.out.println("Conto eliminato");
                    }
                    else {
                        System.out.println("Conto non eliminato");
                    }
                }
                else {
                    System.out.println("Conto non presente");
                }
            }
            else {
                System.out.println("Banca non presente");
            }
        }      
             
        public void addBanca(String nome) {      
            if (nome.length() > 0) {
                Banca b = new Banca(nome);
                lista.add(b);
            }
        }    
        
        public Banca getBanca(String nome) {
            Banca b = null;
            
            if (nome.length() > 0) {
                // ricerca banca per nome
                boolean trovato = false;
                int i = 0;
                while ((i < lista.size()) && !trovato) {
                    if (lista.get(i).getNome().equals(nome)) {
                        trovato = true;
                        b = lista.get(i);
                    }
                    else {
                        i++;
                    }
                }
            }
            
            return b;
        }
        
        public int getIndexBanca(String nome) {
            int ret = -1;
            
            if (nome.length() > 0) {
                // ricerca banca per nome
                boolean trovato = false;
                int i = 0;
                while ((i < lista.size()) && !trovato) {
                    if (lista.get(i).getNome().equals(nome)) {
                        trovato = true;
                        ret = i;
                    }
                    else {
                        i++;
                    }
                }
            }
            
            return ret;
        } 
        
        public int delBanca(String nome) {
            int ret = -1;
            
            if (nome.length() > 0) {
                ret = getIndexBanca(nome);
                if (ret > -1) {
                    lista.remove(ret);
                    ret = 0;
                }
            }
            
            return ret;
        }
        
    }
            
  •  


© Emanuele Scapin 2009-2013

 

Valid HTML 4.01! Valid CSS!