Po Pierwsze przy logowaniu nie zmieniasz wartości zalogowany na true
public Boolean logowanie(String login,String haslo)
{
if(this.login.compareTo(login)==0&&this.password.compareTo(haslo)==0){
zalogowany=true; // tutaj musisz zalogować, bo nigdzie indziej tego nie robisz
return true;
}
else
return false;
}
Następnie kolejny błąd to ustawienie stanuKonta jako final, kiedy chcesz zmieniać stan konta chyba?
Funkcja setStanKonta nie aktualizowała wartości , ponieważ stan konta nie jest typem prymitywnym..
Powinno być tak:
public void setStanKonta(int kwota) {
if (zalogowany) {
// błędnie
stanKonta.add(new BigDecimal(kwota));
// prawidłowo
stanKonta = stanKonta.add(new BigDecimal(kwota));
}
}
Oraz tu chyba chcesz porównać więc raczej == a nie =?
private void wyplac(int kwota) {
if (zalogowany=true) { // zmieniasz wartość na true czy chcesz porównać?
aktywneKonto.setStanKonta((-kwota));
}
}