53 lines
1.3 KiB
Java
Executable File
53 lines
1.3 KiB
Java
Executable File
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);
|
|
}
|
|
}
|