-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCuenta.java
71 lines (59 loc) · 1.89 KB
/
Cuenta.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import java.util.*;
//Declaramos la clase Cuenta
public class Cuenta {
//Declaro sus propiedades
private double saldo;
private Usuario usuario;
private List<Gasto> gastos;
private List<Ingreso>ingresos;
//Declaro sus métodos
public Cuenta(Usuario usuario) {
this.usuario=usuario;
this.saldo=0;
this.gastos=new ArrayList<Gasto>();
this.ingresos=new ArrayList<Ingreso>();
}
public double getSaldo() {
return saldo;
}
public void setSaldo(double saldo) {
this.saldo = saldo;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public double addIngresos(String description, double cantidad){
//El ingreso se añade al saldo
Ingreso nuevoIngreso = new Ingreso(cantidad,description);
this.ingresos.add(nuevoIngreso);
this.saldo=this.saldo+cantidad;
return saldo;
}
public double addGastos(String description, double cantidad){
//El gasto se resta del saldo, si el saldo no es inferior a cero
try{
this.saldo = this.saldo-cantidad;
if(this.getSaldo()<0){
//Si no hay saldo salta la excepcion
throw new GastoException("No se pudo cobrar, quedaria la cuenta en numeros rojos, haz un ingreso antes de pasar de nuevo este gasto");
}
}catch(GastoException e){
return -1;
}
Gasto nuevoGasto=new Gasto(cantidad,description);
gastos.add(nuevoGasto);
return saldo;
}
public List<Ingreso> getIngresos() {
return ingresos;
}
public List<Gasto> getGastos() {
return gastos;
}
public String toString(){
return this.usuario.getNombre() + ", Tienes: " + this.saldo;
}
}