4IT101 Programování v Javě - cvičící Tomáš Michalička
Aktuální cvičení
Projekt ke cvičení 12.12. je zde.
Kontakt
Bodování
V případě aktivity na cvičeních je možné získat bonusové body.
Harmonogram
Týden |
Poznámka |
2. týden |
Zadání 1. domácího úkolu |
3. týden |
1. teoretický test |
4. týden |
Odevzdání 1. domácího úkolu, zadání 2. domácího úkolu |
6. týden |
Odevzdání 2. domácího úkolu, zadání 3. domácího úkolu |
7. týden |
Programovací test |
8. týden |
Odevzdání 3. domácího úkolu, zadání 4. domácího úkolu |
9. týden |
Zadání 4. domácího úkolu |
10. týden |
2. teoretický test, odevzdání 4. domácího úkolu |
11. týden |
Odevzdání 4. domácího úkolu |
Zadání domácích úkolů
1. domácí úkol (Zoo)
Stáhněte si projekt zde.
Pokyny
- Doplňte gettery a settery do třídy Majitel.
- Vytvořte minimálně 2 třídy, které budou implementovat interface Zvire (všechny metody z interface budou implementované dle dokumentace).
- U každé třídy z bodu 2 přepište metodu toString(), která bude vracet řetězec v následujícím tvaru (ve složených zavorkách jsou proměnné):
"Zvire {jmeno_zvirete} je stare {vek_zvirete} a je vlastneho majitelem jmenem {jmeno_majitele} {prijemni_majitele}."
- Ve třídě Zoo v metodě vyrobZvirata vytvořte minimálně 4 instance tříd z bodu 2. Každá instance bude mít nastaven věk a majitele. Instance pak přidejte do seznamu podle vzoru v komentáři metody.
Vyhodnocení
"Best of"
2. domácí úkol (Eshop)
Úkol vypracujte zcela samostatně.
Pokyny
- Vytvořte interface Zbozi, který bude obsahovat následující metody (parametry a návratové typy metod doplňte dle potřeby):
- getCena
- getNazev
- Vytvořte alespoň 2 třídy implemetující interface Zbozi (například Kosile a Svetr).
- Vytvořte třídu Kosik, která bude obsahovat následující metody:
- void vyprazdniKosik() - metoda vyprázní košík
- void vloz(Zbozi zbozi) - metoda vloží zboží do košíku
- int pocetKusu(String nazev) - metoda vrátí počet kusů zbozí v košíku, které má daný název
- double spocitejCenu() - metoda sečte cenu za všechny položky v košíku
- void vypisKosik() - metoda vypíše na konzoli názvy všech položek v košíku
- Napište unit test pro metody spocitejCenu() a pocetKusu(String nazev) - v košíku musí být minimálně jedna instance obou tříd implementujících interface Zbozi
Požadované vlastnosti projektu
- Cena zboží může být kladné desetinné číslo.
- Velikost košíku je omezena pouze pamětí JVM. Teoreticky do něj tak musí být možné vložit tisíce kusů zboží.
3. domácí úkol (Zadání semestrální práce)
Ve 3. domácím úkolu nebudete nic programovat. Projděte si požadavky na semestrální práci. Následně připravte zadání vlastní semestrální práce, které bude obsahovat:
- Příběh jak hra začíná, tj. uvedení do příběhu, co se stalo a co je hráčovým úkolem. Tento text pak budete hráči zobrazovat při spuštění hry.
- Plánek hry (obrázek), jaké prostory bude hra obsahovat a jak jsou propojeny.
- Popis toho, co bude muset hráč udělat, aby hru vyhrál. Případně také, co se stane, když některé úkoly nesplní (špatné konce hry).
- Seznam příkazů, které bude moci hráč při hře používat.
Odevzdejte jako soubor ve formátu doc, docx nebo pdf.
4. domácí úkol (Analýza logů)
Vaším úkolem je vytvořit jednoduchý program, který bude umožňovat analýzu logů. Soubor s testovacím logem si můžete stáhnout zde.
Program se bude spouštět přes příkazovou řádku s následujícími příkazy:
java -jar {nazev_souboru}.jar {cesta_k_logu} pocet_radku
- program vypíše počet řádků v logu.
java -jar {nazev_souboru}.jar {cesta_k_logu} pocet_vyskutu {retezec}
- program vypíše počet daného stringu v logu.
java -jar {nazev_souboru}.jar {cesta_k_logu} vypis_radky {retezec}
- program vypíše řádky z logu, které obsahují daný string.
Program nesmí být závislý na OS. Do odevzdávárny vkládejte jar soubory obsahující i zdrojové kódy tříd. Bez zdrojových kódů nebude odevzdání úkolu platné.