Klasa Bankomat z typem wyliczeniowym enum - Podstawy

0

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 :/

0

Bo go nie widać w klasie głównej. Musisz go zaimportować lub przenieść gdzieś tak, żeby był widoczny.

0

Spoko już działa... jeszcze została kwestia poprawności instrukcji w metodach :/ bo są baaaardzo złe

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