Java úkol - sčítačka – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Java úkol - sčítačka – Java – Fórum – Programujte.comJava úkol - sčítačka – Java – Fórum – Programujte.com

 

Lukáš Mrzena
~ Anonymní uživatel
2 příspěvky
22. 2. 2016   #1
-
0
-

Dobrý den, 

mohl bych poprosit o radu s tím to úkolem, moc to nechápu, děkuji. 

Úkol: Do třídy Scitacka doplňte deklaraci instanční proměnné soucet, která bude uchovávat součet obou čísel uložených v instanci. Uvědomte si, že hodnota této proměnné je závislá na ostatních instančních proměnných a bude tedy nutné provést vždy její aktualizaci v případě, že dojde ke změně hodnoty některého ze sčítaných čísel. Proveďte potřebné úpravy kódu třídy Scitacka.

Program:

package scitacka;

/**
 * Trida Scitacka predstavuje model scitacky, ktera pouze umi secist dve cela
 * cisla typu int. Kazda instance teto tridy uchovava dve cela cisla typu int,
 * ktera se daji menit a je mozne kdykoliv urcit jejich soucet pomoci zavolani
 * metody soucet().
 *
 * @author Lukáš Mrzena
 * @version 15.2.2016
 */
public class Scitacka {

    // instancni promenne, ktere uchovavaji dve cisla, ktera se budou scitat
    private int cislo1;
    private int cislo2;

    /**
     * Konstruktor pro objekty tridy Scitacka, ktery nastavi hodnoty obou
     * scitanych cisel na hodnoty dane parametry cislo1 a cislo2.
     *
     * @param cislo1 levy scitanec
     * @param cislo2 pravy scitanec
     */
    public Scitacka(int cislo1, int cislo2) {
        this.cislo1 = cislo1;
        this.cislo2 = cislo2;
    }

    /**
     * Konstruktor pro objekty tridy Scitacka, ktery nastavi hodnoty obou
     * scitanych cisel na nulu.
     */
    public Scitacka() {
        cislo1 = 0;
        cislo2 = 0;
        //this(0, 0);
    }

    /**
     * Konstruktor pro objekty tridy Scitacka, ktery nastavi hodnoty obou
     * scitanych cisel na hodnotu danou parametrem cislo.
     *
     * @param cislo spolecna hodnota obou scitancu
     */
    public Scitacka(int cislo) {
        this.cislo1 = cislo;
        this.cislo2 = cislo;
        //this(cislo, cislo);
    }

    /**
     * Vraci hodnotu leveho scitance.
     *
     * @return Metoda vraci hodnotu scitance cislo1 z vyrazu cislo1 + cislo2,
     * ktery se da vyhodnotit pomoci metody soucet().
     */
    public int getCislo1() {
        return cislo1;
    }

    /**
     * Vraci hodnotu praveho scitance.
     *
     * @return Metoda vraci hodnotu scitance cislo2 z vyrazu cislo1 + cislo2,
     * ktery se da vyhodnotit pomoci metody soucet().
     */
    public int getCislo2() {
        return cislo2;
    }

    /**
     * Metoda nastavi hodnotu leveho scitance pomoci parametru cislo1.
     *
     * @param cislo1 hodnota typu int, ktera se pouzije k nastaveni leveho
     * scitance
     */
    public void setCislo1(int cislo1) {
        this.cislo1 = cislo1;
    }

    /**
     * Metoda nastavi hodnotu leveho a praveho scitance pomoci parametru cislo1
     * a cislo2.
     *
     * @param cislo1 hodnota typu int, ktera se pouzije k nastaveni leveho
     * scitance
     * @param cislo2 hodnota typu int, ktera se pouzije k nastaveni praveho
     * scitance
     */
    public void setCislo1ACislo2(int cislo1, int cislo2) {
        this.cislo1 = cislo1;
        this.cislo2 = cislo2;
        //setCislo1(cislo1);
        //setCislo2(cislo2);
    }

    /**
     * Metoda nastavi hodnotu praveho scitance pomoci parametru cislo2.
     *
     * @param cislo2 hodnota typu int, ktera se pouzije k nastaveni praveho
     * scitance
     */
    public void setCislo2(int cislo2) {
        this.cislo2 = cislo2;
    }

    /**
     * Vraci soucet dvou cisel typu int, ktera jsou ulozena v instanci.
     *
     * @return Vraci hodnotu typu int, ktera predstavuje soucet obou cisel
     * ulozenych v instanci. V pripade preteceni neni vyhozena zadna vyjimka a
     * metoda vraci chybny vysledek.
     */
    public int soucet() {
        return cislo1 + cislo2;
    }

    /**
     * Vraci soucet dvou cisel typu int, ktera jsou ulozena v instanci.
     *
     * @return Vraci hodnotu typu long, ktera predstavuje soucet obou cisel
     * ulozenych v instanci.
     */
    public long soucetLong() {
        return (long) cislo1 + cislo2;
    }

    /**
     * Vraci soucet dvou cisel typu int, ktera jsou ulozena v instanci.
     *
     * @return Vraci hodnotu typu long, ktera predstavuje soucet obou cisel
     * ulozenych v instanci. Porovnejte s metodou soucetLong().
     */
    public long soucetLong1() {
        return (long) (cislo1 + cislo2);
    }

    /**
     * Vraci znakovou reprezentaci instance, ktera popisuje jeji stav.
     *
     * @return Vraci objekt typu String, ktery obsahuje hodnoty obou scitanych
     * cisel. Priklad: "Scitacka{cislo1 = 23, cislo2 = 123}".
     */
    @Override
    public String toString() {
        return "Scitacka{" + "cislo1 = " + cislo1 + ", cislo2 = " + cislo2 + "}";
    }

    /**
     * Testovaci metoda, ktera vytvori novou scitacku, kterou inicializuje
     * pomoci parametru levyScitanec a pravyScitenec. Potom vytiskne oba
     * scitance a jejich soucet.
     *
     * @param levyScitanec levy scitanec
     * @param pravyScitanec pravy scitanec
     */
    public static void testScitacka(int levyScitanec, int pravyScitanec) {
        Scitacka scitacka = new Scitacka(levyScitanec, pravyScitanec);
        System.out.println(scitacka);
        int cislo1 = scitacka.getCislo1();
        int cislo2 = scitacka.getCislo2();
//        System.out.println("součet čísel " + cislo1 + " a " + cislo2 + " = " + scitacka.soucet());
//        System.out.println("součet čísel " + cislo1 + " a " + cislo2 + " = " + scitacka.soucetLong());
        System.out.println("součet čísel " + cislo1 + " a " + cislo2 + " = " + scitacka.soucetLong1());
        System.out.println();
    }

    /**
     *
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        testScitacka(0, 0);
//        Scitacka scitacka1 = new Scitacka();
//        System.out.println(scitacka);
//        int cislo1 = scitacka1.getCislo1();
//        int cislo2 = scitacka1.getCislo2();
//        int soucet = scitacka1.soucet();
//        System.out.println("součet čísel " + cislo1 + " a " + cislo2 + " = " + soucet);

        testScitacka(5, 5);
//        Scitacka scitacka2 = new Scitacka(5);
//        System.out.println(scitacka);
//        cislo1 = scitacka2.getCislo1();
//        cislo2 = scitacka2.getCislo2();
//        soucet = scitacka2.soucet();
//        System.out.println("součet čísel " + cislo1 + " a " + cislo2 + " = " + soucet);

        testScitacka(5, 10);
//        Scitacka scitacka3 = new Scitacka(5, 10);
//        System.out.println(scitacka);
//        cislo1 = scitacka3.getCislo1();
//        cislo2 = scitacka3.getCislo2();
//        soucet = scitacka3.soucet();
//        System.out.println("součet čísel " + cislo1 + " a " + cislo2 + " = " + soucet);

        testScitacka(5, -10);
        testScitacka(Integer.MAX_VALUE, 1);
        testScitacka(Integer.MAX_VALUE, Integer.MAX_VALUE);
        testScitacka(Integer.MIN_VALUE, Integer.MIN_VALUE);
    }
}

Nahlásit jako SPAM
IP: 188.120.199.–
JJ
~ Anonymní uživatel
13 příspěvků
23. 2. 2016   #2
-
0
-

pod private int cislo2; doplnis treba: private long soucet;

Vsude, kde se nastavuje cislo1 nebo 2, musis pak upravit i tenhle soucet.

Nahlásit jako SPAM
IP: 88.100.22.–
Lukáš Mrzena
~ Anonymní uživatel
2 příspěvky
1. 3. 2016   #3
-
0
-

Fungovalo to , díky moc. 

Nahlásit jako SPAM
IP: 160.217.138.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 37 hostů

Podobná vlákna

Java - úkol — založil sefikail

Java - úkol (while,for,if) — založil Adam9815

Java ukol — založil tolean

Pomoc ukol java — založil ori

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý