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); } }
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; } }
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; } }
Interfaccia di input/output dei dati (interfaccia carattere - console)