Wątek przeniesiony 2014-11-18 07:19 z Java przez bogdans.

Dodawanie elementów do tablicy

0

Witam. Mam za zadanie napisać klasę tworzącą "historię" konta bankowego tzn przy wywołaniu operacji na koncie od określonej kwoty (np. przelej(300)), kwota 300 ma dodać się do tablicy z której potem zostanie wypisane 5 ostatnich kwot. Mój problem polega na tym, że tablica po wydrukowaniu drukuje każdą kwotę po 5 razy. Wygląda to mniej więcej tak :
500.0,500.0,500.0,500.0,500.0,300.0,300.0,....
W czym może tkwić problem ?
Podaję kod :

class Konto {
    float stan;
    String wlasciciel;
  void operacja(float ile){ 
      stan=stan+ile;
      }
  void przelej(float ile, Konto dokad){
      dokad.operacja(ile); 
  }
  static void przelej(Konto skad, Konto dokad, float ile){
      dokad.operacja(ile); 
      skad.operacja(-ile);
  }
  Konto(String w, float stan){ 
      wlasciciel=w; 
      this.stan=stan; 
      } 
}

class KontoH extends Konto{
    float[] tablica = new float[5];
    int i=0;

    KontoH(String w, float stan){
        super(w,stan);
        this.stan=stan;
    }
    void operacja(float ile){
        for(int i=0;i<5;i++){
        tablica[i]=ile;
}       
        for(int i=0;i<5;i++)
        System.out.println(tablica[i]);
}
}
class TestKonta2{
      public static void main(String[] a){

       Konto  h = new KontoH("Bbbb",200);
       KontoH  h1 = new KontoH("Cccc",200);    
       h.operacja(500);
       h1.przelej(300,h);
       h1.operacja(120);
       h.przelej(220,h1);
       h1.operacja(325);
      }
}

Poprawiłem znaczniki kolorujące - bogdans

0

Nie wgłębiałem się za bardzo, bo czytanie takiego kodu szkodzi, ale przypatrz się metodzie KontoH.operacja.
5 razy przypisujesz tą samą wartość (argument ile)...

0

w metodzie operacja powinieneś dodać do stanu wartość ile a dopiero potem sumę "wrzucić" do tablicy

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0