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