-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBanco.java
More file actions
69 lines (61 loc) · 2.07 KB
/
Banco.java
File metadata and controls
69 lines (61 loc) · 2.07 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import java.util.HashMap;
import java.util.Map;
/**
* Representa un banco que maneja cuentas corrientes y permite transferencias.
*
* Autor: Scarlett Molina Diaz
* Versión: 1B-20/09/2025
*/
public class Banco {
private Map<String, CuentaCorriente> cuentas;
/**
* Constructor que inicializa el banco sin cuentas.
*/
public Banco() {
cuentas = new HashMap<>();
}
/**
* Crea una nueva cuenta corriente en el banco.
*
* @param numeroCuenta Número único de la cuenta.
* @param saldoInicial Saldo inicial de la cuenta.
*/
public void crearCuenta(String numeroCuenta, double saldoInicial) {
cuentas.put(numeroCuenta, new CuentaCorriente(numeroCuenta, saldoInicial));
}
/**
* Realiza una transferencia de dinero entre dos cuentas.
*
* @param cuentaOrigen Número de la cuenta de origen.
* @param cuentaDestino Número de la cuenta destino.
* @param monto Monto a transferir.
*/
public void transferencia(String cuentaOrigen, String cuentaDestino, double monto) {
if (!cuentas.containsKey(cuentaOrigen) || !cuentas.containsKey(cuentaDestino)) {
System.out.println("Una o ambas cuentas no existen.");
return;
}
CuentaCorriente origen = cuentas.get(cuentaOrigen);
CuentaCorriente destino = cuentas.get(cuentaDestino);
if (origen.getSaldo() < monto) {
System.out.println("Saldo insuficiente en la cuenta de origen.");
return;
}
origen.debitar(monto);
destino.abonar(monto);
System.out.println("Transferencia realizada con éxito.");
}
/**
* Consulta el saldo de una cuenta.
*
* @param numeroCuenta Número de la cuenta a consultar.
* @return Saldo actual de la cuenta o -1 si no existe.
*/
public double consultarSaldo(String numeroCuenta) {
if (!cuentas.containsKey(numeroCuenta)) {
System.out.println("La cuenta no existe.");
return -1;
}
return cuentas.get(numeroCuenta).getSaldo();
}
}