Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 2. diel - Prvá objektová aplikácia v Jave - Hello object world

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Alesh
Tvůrce
Avatar
Odpovedá na Gemy
Alesh:1.12.2020 23:56

Jelikož se celou dobu pohybuješ uvnitř objektu a jediné, co potřebuješ je do A přiřadit X a do B Y, tak určitě správný postup je ten první, dodržuješ zapouzdření, návrh je jednoduchý, funkční, na první pohled čitelný. Gettery a settery slouží primárně pro komunikaci "z vnějšku".

Avatar
František Chromý:28.5.2021 15:35

Vymyslel som to takto, nepekne a neefektivne:
Main

package onlineappobject;

import java.util.Scanner;
/**Hlavna trieda programu*/
public class KalkulackaOOP {
    /**
     * Komunikuje s uzivatelom
     * @param
     * @return
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in, "Windows-1250");
        System.out.println("Vítejte v kalkulačce");
        String pokracovat = "ano";
        while (pokracovat.equals("ano")){
            //Metoda pre zadanie vstupnych hodnot
            KalkulackaVstup kalkulackaVstup;
            kalkulackaVstup = new KalkulackaVstup();
            float[] vysledok = kalkulackaVstup.Vstup();
            // Metoda pre vypocet a zobrazenie vysledku
            KalkulackaVystup kalkulackaVystup;
            kalkulackaVystup = new KalkulackaVystup();
            System.out.println(kalkulackaVystup.Vystup(vysledok[0],vysledok[1], (int) vysledok[2]));
            // Pokracovanie v kalkulacke
            System.out.println("Přejete si zadat další příklad? [ano/ne]");
            pokracovat = sc.nextLine();
        }
        System.out.println("Děkuji za použití kalkulačky.");
    }
}

Vstup od uzivatela:

package onlineappobject;
import java.util.Scanner;
/**Trieda reprezentuje zadanie vstupnych hodnot a vyber operacie v kalkulacke */
public class KalkulackaVstup {
    /**
     * Vyziada zadanie vstupnych hodnot cisel pre vypocet a hodnotu pre pozadovanu operaciu
     * @param
     * @return      Zadane hodnoty 1,2 cisla a zvolenu operaciu
     */
    public float[] Vstup()
    {

        Scanner sc = new Scanner(System.in, "Windows-1250");
        System.out.println("Zadejte první číslo:");
        float a = Float.parseFloat(sc.nextLine());
        System.out.println("Zadejte druhé číslo:");
        float b = Float.parseFloat(sc.nextLine());
        int volba = 1;
        String pokracovat = "ano";
        while (pokracovat.equals("ano")) {
            System.out.println("Zvolte si operaci:");
            System.out.println("1 - sčítání");
            System.out.println("2 - odčítání");
            System.out.println("3 - násobení");
            System.out.println("4 - dělení");
            volba = Integer.parseInt(sc.nextLine());
            if ((volba > 0) && (volba < 5)) {
                pokracovat = "nie";
            } else {
                System.out.println("Neplatná volba, opakujte znova");
            }
        }
        return new float[]{a,b,volba};
    }
}

Vystupy:

package onlineappobject;
/**Trieda reprezentuje vypocet vyslednej hodnoty v kalkulacke */
public class KalkulackaVystup {
    /**
     * Vykona vypocet pozadovanej operacie
     * @param  a,b,volba  1 a 2 cislo, cislo zvolenej operacie
     * @return      vysledok vypoctu.
     */
    public float Vystup(float a,float b,int volba)
    {
        float vysledok = 0;
        switch (volba)
        {
            case 1:
                vysledok =  a + b;
                break;
            case 2:
                vysledok = a - b;
                break;
            case 3:
                vysledok = a * b;
                break;
            case 4:
                vysledok = a / b;
                break;
        }
        return vysledok;
    }
}

Mozte sa na to prosim niekto pozriet, co by slo vylepsit?

Avatar
Alesh
Tvůrce
Avatar
Odpovedá na František Chromý
Alesh:28.5.2021 17:50

Zbytečně to komplikuješ, je to takové "přeobjektované", na co objekt Vstup a Výstup. Prostě Vyžiješ s objektem Kalkulačka. Ten vytvoříš a s ním pak komunikuješ. Pošleš mu 3 vstupy, ten je nějak uchopí a podle toho vrací výstup. Vše je zapouzdřeno uvnitř kalkulačky.

Avatar
Odpovedá na Alesh
František Chromý:30.5.2021 12:54

Ďakujem za "nakopnutie" spravnym smerom.

Avatar
Robert Vyskup:11.8.2021 23:46

Tak nevím, ale jakým tlačítkem mám potvrdit při analýze Javadoc, když jsem zašktnul už všechny políčka? Je tam zelený refresh, pak šipky previous nebo next problem, a pak fix selected.

Avatar
Robert Vyskup:12.8.2021 11:56

A co značí @param

Avatar
Alesh
Tvůrce
Avatar
Odpovedá na Robert Vyskup
Alesh:12.8.2021 14:09

Za tímto klíčovým slovem je napsán název atributu. Díky tomu se ti to pak zobrazuje jako nápověda, viz obrázek v této lekci.

Avatar
ing. SARNOVSKÝ Petr:4.11.2021 5:13

Ahoj,
nemohu se prokousat přes první příklad. Prosím o radu a přikládám obrázek.
Děkuji

Avatar
Odpovedá na ing. SARNOVSKÝ Petr
ing. SARNOVSKÝ Petr:4.11.2021 21:53

Nechápu. na nic jsem nešahal dal znovu "RUN" a prošlo to. Ty počítače jsou horší jak ženy ;-)

Avatar
Tomáš Donát:23.11.2021 18:28

Ten, kdo to čte poprvé, je z toho magor.............

Odpovedať
Zdá-li se Vám, že musíte ve svém životě něco změnit, tak se Vám to nezdá.
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 196.