Witam. Może znajdzie się tu ktoś, kto pomógłby mi trochę w zrozumieniu javy. Mam do poprawy ten przedmiot we wrześniu i podjąłem próby poćwiczenia pisania programów w tym języku. Na razie z marnymi rezultatami.... No i właśnie,na początek taki programik
- Napisz klasę Konto:
o klasa reprezentuje konto bankowe,
o umożliwia wpłacanie i wypłacanie pieniędzy, oraz sprawdzanie salda,
o powinniśmy kontrolować, czy użytkownik nie podaje niewłaściwych danych (np. ujemnej kwoty)
o konto uniemożliwia dokonanie debetu,
o za wykonywane operacje wpłaty i wypłaty pobierana jest stała prowizja. - Napisz klasę Bank:
o bank składa sie z kont (klasy Konto),
o możemy dodawać konta,
o szukać kont o danym numerze.
Wskazówki:
- Konto powinno zawierać:
o składową reprezentującą kwotę na koncie,
o metodę wpłać umożliwiającą wpłacenie podanej kwoty,
o metodę wypłać, umożliwiającą dokonanie wypłaty,
o metodę saldo, zwracającą stan konta. - Bank powinien zawierać:
o tablicę lub listę Kont,
o metodę dodaj, dodającą nowe konto do Banku,
o metodę szukaj, zwracajacą konto o podanym numerze. - Składowe klas powinny być prywatne (słowo kluczowe private); jedynie metody (oraz konstruktory) powinny być publiczne (słowo kluczowe public).
- Dla uproszczenia można przyjąć, że unikalnym numer konta jest po prostu jego indeks w tablicy w Banku.
- Wszystkie operacje dotyczące konta są wywoływane bezpośrednio z niego, po jego pobraniu przy pomocy metody szukaj:
bank.szukaj(3).wpłać(100);
Z pierwszą częścią, tzn klasą Konto jakoś sobie poradziłem, ale co do Banku to mam wątpliwości, że cokolwiek zrobiłem dobrze . Nie za bardzo przepadam za wypełnianiem tablic, zwłaszcza obiektami innej klasy ....
Może ktoś mi to jakoś wyjaśni w przystępny sposób. no dobra, rozpisałem się już chyba za dużo. Pod spodem to co udało mi się wypocić:
public class Konto {
private double stanKonta;
Konto (double stanKonta){
this.stanKonta = stanKonta;
}
public void wplac(double kwota){
if(kwota>0)
stanKonta = (stanKonta + kwota) - 2.50;
else{
System.out.println("Nie możesz wpłacić ujemnej kwoty !!!");
}
}
public void wyplac(double kwota){
if((stanKonta-kwota) >= 0)
stanKonta = (stanKonta - kwota) - 2.50;
else{
System.out.println("Nie masz tyle środków na koncie !!!");
}
}
public double stanKonta(){
return stanKonta;
}
public void saldo(){
System.out.println("Stan konta wynosi:" + stanKonta());
}
}
public class Bank {
public Konto konto;
static Konto [] konta;
int numerKonta;
public Bank(){
numerKonta = 0;
konta = new Konto[10];
}
public void dodajKonto(Konto konto){
numerKonta++;
konta[numerKonta] = this.konto;
}
public Konto szukajKonta(int numerKonta){
return konta[numerKonta];
}
public static void main(String args[]){
Konto konto1 = new Konto(50000);
Konto konto2 = new Konto(15000);
Bank bank = new Bank();
bank.dodajKonto(konto1);
bank.dodajKonto(konto2);
}
}
??? Czego tu brakuje ? Coś nie za bardzo mi to działa .... :-(