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)