Oprogramowanie bankomatu.

0

Witam
Dopiero zaczynam swoją przygodę z programowaniem. Znalazłem kurs wideo w sieci gdzie jest następujące zadanie mam zaprogramować bankomat i wszystko szło świetnie do momentu kiedy mój program ma dwie opcje tzn wypłacić pieniądze nie przekraczając wartości stanu konta. A jeżeli wartość żądanej wypłaty przekracza stan konta ma wyświetlić komunikat "Brak środków". I tu jest gehenna ponieważ program wyświetla wartość na minusie zamiast wydrukować "Brak kasy" nie wiem co robie zle. Zdaje sobie sprawę że to nie wasz kurs ale bardzo prosiłbym o pomoc bo tamta osoba nie udziela mi odpowiedzi. Dołączam kod który wydukałem:
import java.util.Scanner;

public class Bankomat {
public static void main (String[]args){
System.out.println("Wybierz karte");
System.out.println("WBK=1");
Banki WBK=new Banki("wbk",1500 );
Scanner scanner = new Scanner(System.in);
int a;
a=scanner.nextInt();
System.out.println("Stan Konta 1");
System.out.println("Wypłata hajsu 2");
Scanner scanner1=new Scanner(System.in);
int b;
b=scanner.nextInt();
switch(b){
case 1:
System.out.println(WBK.getliczbaKasy());
break;
case 2:
System.out.println("Ile?");

                Scanner scanner2 = new Scanner(System.in);
                int c;
                c=scanner2.nextInt();
                int reszta;
                reszta= WBK.getliczbaKasy()-c;

                if  (reszta > WBK.getliczbaKasy())
                    System.out.println("Nie masz kasy");
                else
                    System.out.println("Pozostale środki  " + reszta );

            
    }



}


}

Prosiłbym o pomoc i odpowiedź z góry dziękuje i pozdrawiam.

1

Porównaj c z WBK.getLiczbaKasy(). To w c masz podane ile user chce wypłacić.

1

Sprawdz co sie dzieje w reszta = WBK.getliczbaKasy() - c; Jesli w tym momencie ilosc srodkow na koncie, ktora pewnie jest jakas wewnetrzna zmienna klasy, sie nie zmienia, to wynik bedzie wlasnie taki: Reszta bedzie ujemna I, oczywiscie mniejsza od stanu konta. Acha, Pisz ten kod jakos ladnie, z angielskimi nazwami zmiennych, camel case, bo CIE zhejtuja:-)

0

Dziękuję bardzo niech Ci Bóg w dzieciach wynagrodzi ;)

0

lion137 spokojnie postaram się następnym razem ;)

0

Dobra myślałem że dam sobie rade ale jednak nie...
import java.util.Scanner;

public class Bankomat {
public static void main (String[]args){
System.out.println("Wybierz karte");
System.out.println("1 WBK");
System.out.println("2 BPH");
System.out.println("3 BGZ");
Banki WBK=new Banki("wbk",1500 );
Banki BPH=new Banki("bph",10000);
Banki BGZ=new Banki("bgz",2800);
Scanner scanner5= new Scanner(System.in);
int z;
z= scanner5.nextInt();
switch (z) {

        case 1:
            Scanner scanner = new Scanner(System.in);
            int a;
            a = scanner.nextInt();
            System.out.println("Stan Konta 1");
            System.out.println("Wypłata hajsu 2");
            Scanner scanner1 = new Scanner(System.in);
            int b;
            b = scanner.nextInt();
            switch (b) {
                case 1:
                    System.out.println(WBK.getliczbaKasy());
                    break;
                case 2:
                    System.out.println("Ile?");

                    Scanner scanner2 = new Scanner(System.in);
                    int c;
                    c = scanner2.nextInt();
                    int reszta;
                    reszta = WBK.getliczbaKasy() - c;
                    if (c > WBK.getliczbaKasy())
                        System.out.println("Nie masz tyle środków");
                    else
                        System.out.println("Pozostałe środki   " + reszta);

            }
        case 2:
            Scanner scanner3 = new Scanner(System.in);
            int d;
            d = scanner3.nextInt();
            System.out.println("1 = Stan Konta");
            System.out.println("2 = Wypłata Gotówki");
            switch (d) {
                case 1:
                    System.out.println("Twój stan konta" + BPH.getliczbaKasy());
                case 2:
                    System.out.println("Ile chcesz wypłacić");
                    Scanner scanner4 = new Scanner(System.in);
                    int e;
                    e = scanner4.nextInt();
                    int resztaBPH;
                    resztaBPH = BPH.getliczbaKasy() - e;
                    if (e > BPH.getliczbaKasy())
                        System.out.println("Nie masz tyle środków");
                    else
                        System.out.println("Pozostałe środki   " + resztaBPH);

            }
        case 3:
            Scanner scanner6 = new Scanner(System.in);
            int f;
            f = scanner6.nextInt();
            System.out.println("1 Stan konta");
            System.out.println("2 Wypłata gotówki");
            switch (f) {
                case 1:
                    System.out.println("Stan konta to:  " + BGZ.getliczbaKasy());
                case 2:
                    System.out.println("Ile chcesz wypłacić");
                    Scanner scanner7 = new Scanner(System.in);
                    int h;
                    h = scanner7.nextInt();
                    int resztaBGZ;
                    resztaBGZ = BGZ.getliczbaKasy() - h;
                    if (h > BGZ.getliczbaKasy())
                        System.out.println("Nie masz tyle kasy");
                    else
                        System.out.println("Pozostałe środki   " + resztaBGZ);


            }
        


        } tutaj wychodzi mi błąd  gdy naciskam na nawias wyskakuje switch(z).

Po uruchomieniu programu wyskakuje mi taki błąd
"Error:(93, 14) java: reached end of file while parsing"
Byłbym bardzo wdzięczny za pomoc.

0

Postanowiłem przepisać cały program i podziałało błąd już nie wyskakuje aleee program nie działa. Niby wszystko jest cacy tzn jeżeli użytkownik wybiera pierwszą opcję tzn "WBK wszystko następuję zgodnie z planem i działa poprawnie jednak przy drugiej opcji tzn"BGZ" program nagle kończy swoje działanie jakby nie widział całej instrukcji... nie wiem gdzie robię błąd i prosze jeszcze raz o pomoc taka męczybuła ze mnie.
import java.util.Scanner;

public class Bankomat {
public static void main(String[]args){
System.out.println("Włóż kartę ");
System.out.println("1 = WBK");
System.out.println("2 = BGZ ");
System.out.println("3 = BPH ");
Karty WBK = new Karty(2500);
Karty BGZ = new Karty(10000);
Karty BPH = new Karty(200);
Scanner scanner = new Scanner(System.in);
int numberAccount;
numberAccount=scanner.nextInt();
switch(numberAccount){
case 1:
System.out.println("1 = Wypłata gótówki");
System.out.println("2 = Stan konta");
Scanner scanner1 = new Scanner(System.in);
int optionWBK;
optionWBK = scanner1.nextInt();
switch(optionWBK){
case 1:
System.out.println("Wprowadz kwotę do wypłaty");
Scanner scanner2 = new Scanner(System.in);
int payment;
payment = scanner2.nextInt();
int rest;
rest = WBK.getCashe()-payment;
if (payment>WBK.getCashe())
System.out.println("Nie masz na tyle środków.");
else
System.out.println("Pozostałe środki: "+rest);
break;
case 2:
System.out.println("Stan konta to: "+WBK.getCashe());

                    switch (numberAccount){
                        case 2:
                            System.out.println("1 = Wypłata gotówki");
                            System.out.println("2 = Stan konta");
                            Scanner scanner3 = new Scanner(System.in);
                            int optionBGZ;
                            optionBGZ = scanner3.nextInt();
                            switch(optionBGZ){
                                case 1:
                                    System.out.println("Jaka kwote");
                                    Scanner scanner4 = new Scanner(System.in);
                                    int paymentBGZ;
                                    paymentBGZ = scanner4.nextInt();
                                    int restBGZ;
                                    restBGZ = BGZ.getCashe()-paymentBGZ;
                                    if (paymentBGZ>BGZ.getCashe())
                                        System.out.println("Nie masz tyle środków na koncie");
                                    else
                                        System.out.println("Pozostałe środki na koncie to:  "+restBGZ);

            }

                    }

            }


    }


}

}

0

Dobra wszystko gra wątek do usunięcia dzięki za pomoc ;)

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