Cvičenie 2 - Štruktúrované programovanie v Jave, Triedy, Objekty a Členské premenné

Cieľom druhého cvičenia je precvičiť si prácu s premennými a základnými príkazmi v Jave. V druhej časti cvičenia sú úlohy zamerané na základnú definíciu tried a ich členských premenných.

UML diagramy

Pri objektovo-orientovanom návrhu aplikácií sa využíva grafická notácia UML (Unified Modeling Language). UML poskytuje viacero typov diagramov a s niektorými ste sa už stretli v predmete ANIS I pri návrhu používateľských požiadaviek. Pre objektovo-orientovaný návrh je najdôležitejśím typom diagram tried, ktorý budeme používať na návrh aplikácie pred samotným programovaním, resp. na dokumentáciu vytvoreného kódu. Vytváranie UML diagramov umožňuje viacero programov, na cvičeniach môžete používať online program pre kreslenie diagramov draw.io. Pre jeho voľné používanie sa musíte zaregistrovať. Prostredie draw.io je zobrazené na nasledujúcom obrázku:

Prostredie programu draw.io

Úlohy

Úloha 2.1

Vytvorte triedu Priklad2_1 s metódou main. V metóde main vytvorte celočíselnú premennu plat. Napíšte príkaz vetvenia ktorý vypíše pre zadanú hodnotu premennej plat do ktorého intervalu patrí jej hodnota: < 1000, 1000-3000, alebo > 3000.

Úloha 2.2

Vytvorte triedu Priklad2_2 s metódou main. V metóde main vytvorte číselné pole s názvom cisla, ktoré inicializujte na hodnoty 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. V metóde main napíšte program, ktorý vypočíta a vypíše priemernú hodnotu čísel v poly cisla.

Úloha 2.3

Vytvorte triedu Priklad2_3 s metódou main. V metóde main vytvorte číselné pole s názvom cisla, ktoré inicializujte na hodnoty 25, 24, 26, 45, 25, 23, 50, 51. Pomocou cyklu for vypočítajte počet čísel z poľa cisla, ktoré majú hodnotu v rozsahu od 25 do 50 (vrátane).

Úloha 2.4

Vytvorte triedu Priklad2_4 s metódou main. Úlohu z príkladu 2.3 naprogramujte pomocou cyklu while a potom do-while.

Úloha 2.5

Vytvorte triedu Priklad2_5 s metódou main. V metóde main vytvorte číselné pole s názvom main, ktoré inicializujte na hodnoty 24, 26, 25, 45, 25, 23, 50, 51 a celočíselné premenné hodnota a index. Napíšte cyklus, ktorý do premennej index nastaví pozíciu prvého výskytu prvku poľa cisla so zadanou hodnotou, alebo -1 ak sa taký prvok v poly nenachádza.

Úloha 2.6

Vytvorte triedu Priklad2_6 s metódou main. V metóde main vytvorte číselné dvojrozmerné pole s názvom matica a inicializujte ho na hodnoty [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]. V metóde main napíšte program, ktorý spočíta priemernú hodnotu po riadkoch a po stĺpcoch matice.

Úloha 2.7

Vytvorte triedu Priklad2_7 s metódou main. V metóde main vytvorte premennu s typu reťazec. Napíšte program, ktorý otestuje či je daný reťazec s palindróm, tzn. číta sa rovnako z predu aj zo zadu (napr. hannah, alebo anna a pod.)

Pre palindróm musí platiť, že sa prvý znak rovná poslednému, druhý predposlednému, atď. Pre prístup k znakom použite metódu s.charAt(index), ktorá vráti znak (číslo typu char) na danej pozícii v reťazci.

Úloha 2.8

Vytvorte triedu Priklad2_8 s metódou main. V metóde main vytvorte pole dni, ktoré inicializujte na hodnoty pondelok, utorok, streda, stvrtok, piatok, sobota, nedela. V metóde main napíšte program, ktorý spojí všetky prvky poľa do jedného reťazca tak, aby boli hodnoty oddelené znakom , (čiarka).

Úloha 2.9

UML diagram tried k úlohe:

  • Vytvorte triedu Izba ktorá bude mať vlastnosti dlzka, sirka (reálne čísla), obsadena (boolean) a nazov (reťazec).
  • Vytvorte triedu Dom, ktorá bude mať vlastnosti izby (pole typu Izba) a nazov (reťazec).
  • Vytvorte triedu Priklad2_9 s metódou main. V metóde main vytvorte tri objekty pre izby a jeden pre dom. Nastavte vlastnosti izieb a pridajte všetky izby do členskej premennej izby objektu domu.

Úloha 2.10

V nasledujúcej úlohe najprv nakreslite UML diagram tried a potom vytvorte kód v jazyku Java. Diagram tried môžete nakresliť v programe draw.io (vyžaduje sa registrácia).

  • Vytvorte triedu Ucitel ktorá bude mať vlastnosti meno (reťazec) a studenti (pole typu Student).
  • Vytvorte triedu Student, ktorá bude mať vlastnosti meno (reťazec) a ucitel (typu Ucitel).
  • Vytvorte triedu Priklad2_10 s metódou main. V metóde main vytvorte tri objekty pre študentov a jeden pre učiteľa. Nastavte názvy objektov na vami zvolené hodnoty a priraďte študentov učiteľovi a naopak.