parent
84b40cc8e9
commit
9ed76d07ce
|
@ -0,0 +1,52 @@
|
|||
public class ContoCorrente implements Comparable<ContoCorrente> {
|
||||
private double saldo;
|
||||
private int numero;
|
||||
private static int conta = 0;
|
||||
|
||||
public ContoCorrente(double iniz) {
|
||||
if(iniz < 0) throw new IllegalArgumentException();
|
||||
saldo = iniz;
|
||||
numero = ++conta;
|
||||
}
|
||||
|
||||
public void deposita(double somma) {
|
||||
if(somma <= 0) throw new IllegalArgumentException();
|
||||
saldo += somma;
|
||||
}
|
||||
|
||||
public void preleva(double somma) {
|
||||
if(somma <= 0 || somma > saldo) throw new IllegalArgumentException();
|
||||
saldo += somma;
|
||||
}
|
||||
|
||||
public double getSaldo() {
|
||||
return saldo;
|
||||
}
|
||||
|
||||
public double getNumero() {
|
||||
return numero;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Conto " + numero + ", saldo: " + saldo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if(o == null) return false;
|
||||
if(getClass() != o.getClass()) return false;
|
||||
ContoCorrente c = (ContoCorrente) o;
|
||||
return saldo == c.saldo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return (int)saldo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(ContoCorrente c) {
|
||||
return Double.compare(saldo, c.saldo);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
public class ContoDeposito extends ContoCorrente {
|
||||
private double tasso;
|
||||
|
||||
public ContoDeposito(double iniz, double tasso) {
|
||||
super(iniz);
|
||||
this.tasso = tasso;
|
||||
}
|
||||
|
||||
public void setTasso(double tasso) {
|
||||
this.tasso = tasso;
|
||||
}
|
||||
|
||||
public void addInteressi() {
|
||||
deposita(getSaldo() * tasso / 100);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return super.toString() + ", tasso: " + tasso;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if(!super.equals(o)) return false;
|
||||
ContoDeposito c = (ContoDeposito) o;
|
||||
return tasso == c.tasso;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return super.hashCode() + (int)tasso;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
public class ContoIntestato extends ContoCorrente {
|
||||
private String nome;
|
||||
|
||||
public ContoIntestato(double iniz, String nome) {
|
||||
super(iniz);
|
||||
this.nome = nome;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return super.toString() + " intestato a " + nome;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if(!super.equals(o)) return false;
|
||||
ContoIntestato c = (ContoIntestato) o;
|
||||
return nome.equals(c.nome);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return super.hashCode() + nome.hashCode();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
public class Filiale {
|
||||
private ArrayList<ContoCorrente> conti;
|
||||
|
||||
public Filiale() {
|
||||
conti = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void add(ContoCorrente c) {
|
||||
conti.add(c);
|
||||
}
|
||||
|
||||
public void remove(int num) {
|
||||
for(ContoCorrente c : conti) {
|
||||
if(c.getNumero() == num) {
|
||||
conti.remove(c);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
String text = "";
|
||||
|
||||
Collections.sort(conti);
|
||||
|
||||
for(ContoCorrente c : conti) {
|
||||
text += c + "\n";
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
public class Tester {
|
||||
public static void main(String[] args) {
|
||||
Filiale f = new Filiale();
|
||||
|
||||
f.add(new ContoCorrente(1000));
|
||||
f.add(new ContoDeposito(500, 10));
|
||||
f.add(new ContoIntestato(1500, "Test"));
|
||||
|
||||
f.add(new ContoIntestato(2001, "quello da rimuovere"));
|
||||
f.remove(4);
|
||||
|
||||
System.out.println(f);
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue