JAVA - Semestrálna práca pomoc

Programovacie jazyky, rady, poradňa...
Axyz
Light Expert
Light Expert
Príspevky: 36
Registrovaný: 15 dec 2012, 19:38

JAVA - Semestrálna práca pomoc

Príspevok od používateľa Axyz »

Zdravím, potrebujem pomoc. V JAVE nie som žiadny expert a potrebujem do stredy vypracovanú semestrálnu prácu. V týchto zdrojákoch sa mi pri zvolení funkcie nie zacyklí program, poradíte mi niekto ako na to?

Kód: Vybrať všetko

import java.util.Scanner;

public class AutomatMain {
    public static void main(String[] args)
    {
        System.out.println("\f");
        Scanner klav;
        klav = new Scanner(System.in);
        int volba = 0;
        AutomatNaEnergetaky mojAutomat;
        mojAutomat = new AutomatNaEnergetaky();
        System.out.println("Dobrý deň, želáte si objednať energetický nápoj?");
        System.out.println("1.Áno \n2.Nie");
        boolean ok = true;
        boolean pokracuj = true;
        do {
            int a = klav.nextInt();
            if(a ==1) {
                ok = false;
                System.out.println("\f");
                volba = 1;
            } 
            if (a == 2) {
                ok = false;
                pokracuj = false;
                volba = 0;
                mojAutomat.VypisUkoncenie();
            }
            if ((a != 1) && (a != 2)) {
                ok = true;
            }
        } while(ok == false);
            
       
         
        
            System.out.println("Dostupné druhy:");
            System.out.println("0. Zrušiť objednávku"); 
            System.out.println("1. Rebull ");
            System.out.println("2. Hell"); 
            System.out.println("3. Bigshock"); 
            System.out.println("4. Tesco"); 
            System.out.println("5. Tiger");
            volba = klav.nextInt();
            switch (volba) {
                case 1:
                System.out.println("Redbull");
                mojAutomat.Redbull();
                break;

                case 2:
                System.out.println("Hell");
                mojAutomat.Hell();
                break;

                case 3:
                System.out.println("BigShock");
                mojAutomat.BigShock();
                break;

                case 4:
                System.out.println("Tesco");
                mojAutomat.Tesco();
                break;

                case 5:
                System.out.println("Tiger");
                mojAutomat.Tiger();
                break;

                case 0:
                System.out.println("Dovidenia");
                break;

                default:
                System.out.println("Zvolte si prosím z čísiel, ktoré ponúkame");
                break;
            }
        
    }
}

Kód: Vybrať všetko

public class AutomatNaEnergetaky {
    private int a;
    private String[] aNapoje;
    private int aPocetNapojov;
    
    public AutomatNaEnergetaky ()
    {
    }

    public int Redbull(){    
        System.out.println("Vložte 2,49€ prosím. Ďakujeme");
        return a;
    }

    public int Hell(){    
        System.out.println("Vložte 1,00€ prosím. Ďakujeme");
        return a;
    }

    public int BigShock(){    
        System.out.println("Vložte 1,22€ prosím. Ďakujeme");
        return a;
    }

    public int Tesco(){    
        System.out.println("Vložte 0,40€ prosím. Ďakujeme");
        return a;
    }

    public int Tiger(){    
        System.out.println("Vložte 1,52€ prosím. Ďakujeme");
        return a;
    }
    
    public int VypisUkoncenie(){    
        System.out.println("Ďakujeme, dovidenia.");
        return a;
    }
}

AllGoneDead
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 364
Registrovaný: 27 aug 2012, 9:03
Bydlisko: košice

Re: JAVA - Semestrálna práca pomoc

Príspevok od používateľa AllGoneDead »

mam pocit ze problem je tu, overi len prvu podmienku teda a !=1 a nastavi true

Kód: Vybrať všetko

if ((a != 1) && (a != 2)) {
                ok = true;
            }
Axyz
Light Expert
Light Expert
Príspevky: 36
Registrovaný: 15 dec 2012, 19:38

Re: JAVA - Semestrálna práca pomoc

Príspevok od používateľa Axyz »

Uz som to odtial uplne vyhodil, teraz je to takto, len ako nastavit ukonecnenie programu po druhom if

Kód: Vybrať všetko

do {
            int a = klav.nextInt();
            if(a ==1) {
                ok = false;
                System.out.println("\f");
                volba = 1;
            } 
            if (a == 2) {
                ok = true;
                volba = 0;
                mojAutomat.VypisUkoncenie();
            }
        } while(pokracuj = false);
AllGoneDead
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 364
Registrovaný: 27 aug 2012, 9:03
Bydlisko: košice

Re: JAVA - Semestrálna práca pomoc

Príspevok od používateľa AllGoneDead »

nemam velmi cas, ale skus pred ifmi nastavit true, teda false bude len ak zbehne jeden z ifov
Axyz
Light Expert
Light Expert
Príspevky: 36
Registrovaný: 15 dec 2012, 19:38

Re: JAVA - Semestrálna práca pomoc

Príspevok od používateľa Axyz »

Vyriešené, celý cyklus som natiahol až dole...

Kód: Vybrať všetko

        do {
            int a = klav.nextInt();
            if(a ==1) {
                System.out.println("\f");
                volba = 1;
                System.out.println("Dostupné druhy:");
                System.out.println("0. Zrušiť objednávku"); 
                System.out.println("1. Rebull ");
                System.out.println("2. Hell"); 
                System.out.println("3. Bigshock"); 
                System.out.println("4. Tesco"); 
                System.out.println("5. Tiger");
                volba = klav.nextInt();
                switch (volba) {
                    case 1:
                    System.out.println("Redbull");
                    mojAutomat.Redbull();
                    break;

                    case 2:
                    System.out.println("Hell");
                    mojAutomat.Hell();
                    break;

                    case 3:
                    System.out.println("BigShock");
                    mojAutomat.BigShock();
                    break;

                    case 4:
                    System.out.println("Tesco");
                    mojAutomat.Tesco();
                    break;

                    case 5:
                    System.out.println("Tiger");
                    mojAutomat.Tiger();
                    break;

                    case 0:
                    System.out.println("Zvolili ste si zrušenie objednávky. Dovidenia");
                    break;

                    default:
                    System.out.println("Zvolte si prosím z čísiel, ktoré ponúkame");
                    break;
                }

            } else {
                mojAutomat.VypisUkoncenie();
            }
        }while(pokracuj = false); 

    } 
}
Napísať odpoveď