-
Notifications
You must be signed in to change notification settings - Fork 114
Expand file tree
/
Copy pathTransaction.java
More file actions
46 lines (38 loc) · 1.21 KB
/
Copy pathTransaction.java
File metadata and controls
46 lines (38 loc) · 1.21 KB
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
package model;
/**
* Clase para representar una transacción bancaria con id, tipo y monto.
*/
public class Transaction {
private int id;
private String tipo;
private double monto;
/**
* Constructor para crear una nueva transacción.
* @param id Identificador único de la transacción.
* @param tipo Tipo de transacción: "Crédito" o "Débito".
* @param monto Monto de la transacción, debe ser positivo.
*/
public Transaction(int id, String tipo, double amount) {
// Restricción en caso el tipo de transacción sea inválido
if (!tipo.equalsIgnoreCase("Crédito") && !tipo.equalsIgnoreCase("Débito")) {
throw new IllegalArgumentException("Tipo de transacción inválido: " + tipo + "!");
}
// Restricción en caso el monto sea inválido
if (amount < 0) {
throw new IllegalArgumentException("El monto no puede ser negativo");
}
this.id = id;
this.tipo = tipo;
this.monto = amount;
}
// Métodos getters
public int getId() {
return id;
}
public String getTipo() {
return tipo;
}
public double getMonto() {
return monto;
}
}