• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Aplikacja Bank (problem z przelewami wpłatami i wypłatami z konta)

Object Storage Arubacloud
0 głosów
184 wizyt
pytanie zadane 31 maja 2018 w Java przez fuzzy Początkujący (260 p.)

Cześć wszystkim mam problem z przelewami wpłatami i wypłatami pomoże ktoś. Wysyłam cały projekt tworzyłem go w NetBeanse.

...

(Projekt)

komentarz 31 maja 2018 przez RafalS VIP (122,820 p.)
Ponad 1000 linii kodu :D Nie jesteś w stanie wskazać gdzie jest wadliwy punkt?
komentarz 1 czerwca 2018 przez fuzzy Początkujący (260 p.)
No niestety tak nas uczą
komentarz 1 czerwca 2018 przez DragonCoder Nałogowiec (36,500 p.)
Raczej chodzilo o to, zebys powiedzial, czy sa jakies bledy przy kompilacji, albo w ktorym miejscu dokladnie kod nie dziala. Pomysl, ze dostajesz 1000 linijrk kodu i madz znalezc blad, nie wiedzac nic... Jak szukanie igly w stogu siana
komentarz 1 czerwca 2018 przez fuzzy Początkujący (260 p.)
edycja 1 czerwca 2018 przez fuzzy

Po włączeniu aplikacji chcę skorzystać z wypłaty po uzupełnieniu wymaganych pozycji klikam button i za każdym razem wywala mi błąd.
Przelew i wpłata mam wrażenie że w ogóle nie dodaje lub nie odejmuje kwoty z konta.

    private void przelew(BigDecimal kwota)
    {
        if(zalogowany)
        {
            double s=aktywneKonto.getStanKonta().doubleValue();
            double k=Double.parseDouble(jTF_przelew.getText());
             if(s>=k)
             {
                 if (odbiorcaKonto != null) {
                    
                    aktywneKonto.setStanKonta((int)-k);
                    odbiorcaKonto.setStanKonta((int)k);
                    jLabel18.setText("Pomyślnie przelano!"+k);
                    BigDecimal a = aktywneKonto.getStanKonta();
                    BigDecimal b = odbiorcaKonto.getStanKonta();
                 }
            
             }
            else
            {
            jLabel18.setText("Posiadasz zbyt mało pieniędzy.");
            }
        }
        else
        {
        jLabel18.setText("Nie jesteś zalogowany.");  
        }
    }
  private void wyplac(int kwota) {
        if (zalogowany=true) {
            aktywneKonto.setStanKonta((-kwota));
        }
    }
    private void wplac(int kwota) {
           aktywneKonto.setStanKonta((+kwota));
        }
   private void jB_PrzelejActionPerformed(java.awt.event.ActionEvent evt) {                                           

        przelew(BigDecimal.valueOf(Double.parseDouble(jTF_przelew.getText())));
        jL_przelej.setModel(listaKontModel);
    }
    private void jB_WyplacActionPerformed(java.awt.event.ActionEvent evt) {                                          
       wyplac(Integer.parseInt(jTF_wplac_kwota.getText()));
    }
  private void jB_wplacActionPerformed(java.awt.event.ActionEvent evt) {                                         
        wplac(Integer.parseInt(jTF_wplac_kwota.getText()));
    }

 

komentarz 1 czerwca 2018 przez fuzzy Początkujący (260 p.)
Mam takie wrażenie że w ogóle kwoty nie są dodawane do stanu konta

1 odpowiedź

+2 głosów
odpowiedź 16 czerwca 2018 przez Anszlus Bywalec (2,280 p.)

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));
      }
  }

 

Podobne pytania

0 głosów
0 odpowiedzi 146 wizyt
pytanie zadane 17 stycznia 2020 w Java przez Lampards Obywatel (1,130 p.)
0 głosów
1 odpowiedź 161 wizyt
pytanie zadane 30 sierpnia 2017 w Java przez fipooo Bywalec (2,880 p.)
0 głosów
0 odpowiedzi 260 wizyt
pytanie zadane 18 marca 2021 w Nasze projekty przez Bonczy Nowicjusz (160 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...