• 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)

VPS Starter Arubacloud
0 głosów
179 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 142 wizyt
pytanie zadane 17 stycznia 2020 w Java przez Lampards Obywatel (1,130 p.)
0 głosów
1 odpowiedź 157 wizyt
pytanie zadane 30 sierpnia 2017 w Java przez fipooo Bywalec (2,880 p.)
0 głosów
0 odpowiedzi 256 wizyt
pytanie zadane 18 marca 2021 w Nasze projekty przez Bonczy Nowicjusz (160 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...