Problem z metodą Replace w hashmapie

Problem z metodą Replace w hashmapie
Szymon szymob
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 8 lat
  • Postów:9
0

mam taką bazę danych, wcześniej wszystko grało, ale zmieniłem teraz nazwę z baza na bazaDanych i nagle w podmienSaldo nie mogę użyć fukncji: bazaDanych.replace();

Wiecie może w czym tkwi problem?

public class BazaDanych {
HashMap<Integer, Integer> bazaDanych = new HashMap<Integer, Integer>();

void setBaza(int n) {
    Random rand = new Random();
    for (int i = 0; i < n; i++) {
        bazaDanych.put(666666 + i, rand.nextInt(2000));
    }
}
void getBaza() {
    for (Map.Entry<Integer, Integer> entry : bazaDanych.entrySet()) {
        System.out.println(entry.getKey() + " " + entry.getValue());
    }
}

public int getSaldo(int klucz){
    return bazaDanych.get(klucz);
}


public int podmienSaldo(int entr, int ileWyciagnac, BazaDanych bazaDanych) {
    int saldo = bazaDanych.getSaldo(entr);
    return bazaDanych.replace(entr, saldo-ileWyciagnac);
}

}

PO
  • Rejestracja:prawie 10 lat
  • Ostatnio:6 dni
  • Postów:153
0

Zmienna z metody BazaDanych bazaDanych ma taka sama nazwe jak zmienna globalna ktora odnosi sie do hashMapy.
Najprosciej będzie w metodzie podmienSaldo zwracać coś takiego:

Kopiuj
return this.bazaDanych.replace(entr, saldo - ileWyciagnac);
edytowany 2x, ostatnio: podroznik

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.