Cześć. Mam problem z napisaniem prostego programu symulującego bankomat. Konkretnie gdy użytkownik zaloguje się i dokona wpłaty/wypłaty po czym wyjdzie do wyboru konta i ponownie zaloguje to stanKonta nie zapisuje się i zostaje wczytany ponownie z konstruktora.
Dodaj Mavena do projektu lub innego Grejdla, nie używaj polskich nazw zmiennych itp. Jakie bylo pytanie? O_o
Zadam pytanie pomocnicze - skoro pojawia się początkowy stan konta, to czy użytkownik którego wypisujesz w kolejnym uruchomieniu tej pętli to ten sam użytkownik? Kiedy może stworzyć się nowy użytkownik?
W jaki sposób tam ma być zapisywany stan konta, skoro te dane nigdzie nie są utrwalane, a program kończy się po jednej komendzie?
Edyta: disregard this, wygląda na to, że konstruujesz nowy bankomat przy wejściu do interfejsUzytkownika
, więc za każdym razem wracasz do stanu początkowego.
Faktycznie, teraz rozumiem dlaczego nie działało. Wiem, że nie powinienem używać polskich nazw, wraz z postępami będę przechodził na angielskie. Dzięki za odpowiedzi. Swoją drogą co to fancy rekurencja?
Zwykle rekurencja jest oczywista, funkcja wywołuje samą siebie, w tym przypadku mnie zaskoczyła bo nie dość że woła pośrednio inną funkcję, to jeszcze ta funkcja jest zdefiniowana w innym miejscu.
Podziel sobie strukturę klas na ValueObjecty. Niech User nie ma w sobie stanu konta (to własność np klasy "Konto", a nie Usera). Pisz funkcyjnie, czyli niech metody zwracają wyniki. Niech pobieranie wartości z konsoli będzie poza ValueObjectami, takimi jak np User. O wielowątkowości już nie wspomnę :P