Witam.
Mam problem z programem. Treść zadania:
Napisać program symulujący operacje na prostych bankomatach. Z bankomatu można wypłacić tylko banknoty o nominałach: 10 zł, 20 zł, 50 zł i 100 zł. Bankomat, o ile jest to możliwe, wydaje żądaną kwotę pieniędzy klientowi, korzystając z jak najmniejszej ilości banknotów. W przypadku braku możliwości wypłacenia podanej kwoty, bankomat wyprowadza odpowiedni komunikat. Użytkownik powinien mieć możliwość zmodyfikowania stanu bankomatu, dotyczy to ilości pieniędzy dostępnych w bankomacie, w jakich nominałach oraz dla każdego nominału w jakiej ilości.
To co ma drukować:
Stan bankomatu: 3000 zł (40 x 10zł, 30 x 20zł, 20 x 50zł, 10 x 100zł)
Wypłata: 1010 zł -- 1 x 10zł 10 x 100zł
Stan bankomatu: 1990 zł (39 x 10zł, 30 x 20zł, 20 x 50zł, 0 x 100zł)
Stan bankomatu: 2090 zł (39 x 10zł, 30 x 20zł, 20 x 50zł, 1 x 100zł)
Wypłata: 1030 zł -- 1 x 10zł 1 x 20zł 18 x 50zł 1 x 100zł
Stan bankomatu: 1060 zł (38 x 10zł, 29 x 20zł, 2 x 50zł, 0 x 100zł)
Wypłata: 912 zł = Brak możliwości wypłaty!
Stan bankomatu: 1060 zł (38 x 10zł, 29 x 20zł, 2 x 50zł, 0 x 100zł)
Wypłata: 50 zł -- 1 x 50zł
Stan bankomatu: 1010 zł (38 x 10zł, 29 x 20zł, 1 x 50zł, 0 x 100zł)
Wypłata: 1011 zł = Brak możliwości wypłaty!
Stan bankomatu: 1010 zł (38 x 10zł, 29 x 20zł, 1 x 50zł, 0 x 100zł)
A oto mój kod:
class Bankomat{
enum Banknot {dziesiec, dwadziescia, piedziesiac, sto};
int dajDo; int wyjmij;
public Bankomat(){
dajDo = 0;
wyjmij = 0;
}
public Bankomat(int Daj, int Wez){
this.dajDo = Daj; this.wyjmij = Wez;
}
public int laduj(){
return dajDo;
}
public void getladuj(int DajKase, Banknot sto){
this.dajDo = DajKase;
}
public int getwyplac(){
return wyjmij;
}
public void wyplac(int ile){
if(this.dajDo<this.wyjmij){
return ;
} else
this.wyjmij = ile;
}
public void stan(){
int s;
s = this.dajDo - this.wyjmij;
System.out.println("STan bankomatu to " + s);
}
}
public class zad31{
public static void main(String[] args){
Bankomat b = new Bankomat();
b.laduj(10, Banknot.sto);
b.laduj(20, Banknot.piedziesiac);
b.laduj(30, Banknot.dwadziescia);
b.laduj(40, Banknot.dziesiec);
b.stan();
b.wyplac(1010);
b.stan();
b.laduj(1, Banknot.sto);
b.stan();
b.wyplac(1030);
b.stan();
b.wyplac(912);
b.stan();
b.wyplac(50);
b.stan();
b.wyplac(1011);
b.stan();
}
}
Nie mam pojęcia czemu pokazuje mi błąd przy laduj(int iloscBanknotów, Banknot.sto){...}
Głownie godzi o Banknot.sto :/