Java - JAVA-HASHMAP

 
Vista:
sin imagen de perfil

JAVA-HASHMAP

Publicado por anonymous (6 intervenciones) el 30/05/2020 04:37:47
Como hago para que la clase Banco implemente la clase CuentaBancaria tal cual con el hasmap.

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
public class Banco {
       private HashMap<Integer,CuentaBancaria> cuentas = new HashMap<>();
       private double tasa = 0.01;
       private int nextacct = 0;
 
    public int nuevaCuenta() {
      int acctnum = nextacct++;
      cuentas.put(acctnum, 0);
      return acctnum;
    }
 
    public int getBalance(int acctnum) {
      return cuentas.get(acctnum);
    }
 
    public void depositar(int acctnum, int amt) {
        int balance = cuentas.get(acctnum);
    cuentas.put(acctnum, balance+amt);
    }
 
    public boolean autorizarPrestamo(int acctnum, int loanamt) {
        int balance = cuentas.get(acctnum);
    return balance >= loanamt / 2;
    }
 
    public String toString() {
    Set<Integer> accts = cuentas.keySet();
    String result = "El banco tiene " + accts.size() + "cuentas.";
        for (int i : accts)
    result += "\n\tCuenta " + i + ": balance=" +
    cuentas.get(i);
    return result;
    }
 
    public void agregarInteres() {
    Set<Integer> accts = cuentas.keySet();
       for (int i : accts) {
    int balance = cuentas.get(i);
    int nuevobalance = (int) (balance * (1 + tasa));
    cuentas.put(i, nuevobalance);
    }
    }
    }
 
 
public class CuentaBancaria extends Banco{
    private int numeroDeCuenta;
    private int balance;
 
  public CuentaBancaria(int numeroDeCuenta, int balance ) {
        this.numeroDeCuenta = numeroDeCuenta;
        this.balance= balance;
    }
 
   public void CuentaBancaria(){
 
    }
   }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lisa
Val: 172
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

JAVA-HASHMAP

Publicado por Lisa (34 intervenciones) el 30/05/2020 06:54:54
Hola para empezar yo dejaría la clase CuentaBancaria así:
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
public class CuentaBancaria {
 
    private int numeroDeCuenta;
    private double balance;
 
    public CuentaBancaria(int numeroDeCuenta, int balance) {
        this.numeroDeCuenta = numeroDeCuenta;
        this.balance = balance;
    }
 
    public void CuentaBancaria() {
 
    }
 
    /**
     * @return the numeroDeCuenta
     */
    public int getNumeroDeCuenta() {
        return numeroDeCuenta;
    }
 
    /**
     * @param numeroDeCuenta the numeroDeCuenta to set
     */
    public void setNumeroDeCuenta(int numeroDeCuenta) {
        this.numeroDeCuenta = numeroDeCuenta;
    }
 
    /**
     * @return the balance
     */
    public double getBalance() {
        return balance;
    }
 
    /**
     * @param balance the balance to set
     */
    public void setBalance(double balance) {
        this.balance = balance;
    }
}

Entonces la clase Banco la dejo así:
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
package leo;
 
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
 
public class Banco {
 
    private final Map<Integer, CuentaBancaria> cuentas;
    private final double tasa = 0.01;
    private int nextacct = 0;
 
    public Banco() {
        cuentas = new HashMap<>();
    }
 
    public int nuevaCuenta() {
        //int acctnum = nextacct++;
        nextacct++;
        cuentas.put(nextacct, new CuentaBancaria(nextacct, 0));
        return nextacct;
    }
 
    public double getBalance(int acctnum) {
        return cuentas.get(acctnum).getBalance();
    }
 
    public void depositar(int acctnum, int amt) {
        if (cuentas.containsKey(acctnum)) {
            cuentas.get(acctnum).setBalance(
                    cuentas.get(acctnum).getBalance() + amt
            );
        } else {
            System.out.println("La cuenta no está registrada");
        }
    }
 
    public boolean autorizarPrestamo(int acctnum, int loanamt) {
        double balance = cuentas.get(acctnum).getBalance();
        return balance >= loanamt / 2;
    }
 
    @Override
    public String toString() {
//        Set<Integer> accts = cuentas.keySet();
        String result = "El banco tiene " + cuentas.size() + "cuentas.";
        for (Map.Entry<Integer, CuentaBancaria> e : cuentas.entrySet()) {
            result += "\n\tCuenta: " + e.getKey() + ": " + e.getValue().getBalance();
        }
//        for (int i : accts) {
//            result += "\n\tCuenta " + i + ": balance="
//                    + cuentas.get(i);
//        }
        return result;
    }
 
    public void agregarInteres() {
        Set<Integer> accts = cuentas.keySet();
        accts.forEach((acc) -> {
            cuentas.get(acc).setBalance(
                    cuentas.get(acc).getBalance() * (1 + tasa)
            );
        });
//        for (int i : accts) {
//            int balance = cuentas.get(i);
//            int nuevobalance = (int) (balance * (1 + tasa));
//            cuentas.put(i, nuevobalance);
//        }
 
    }
}

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

JAVA-HASHMAP

Publicado por anonymous (6 intervenciones) el 02/06/2020 06:19:44
Gracias. Que libro me recomiendas para dominar java?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar