Najneskorší termín odovzdania: 26.10.2014 (nedeľa) o 21:00
Odovzdávané súbory: ZadanaKorytnacka.java
, TrojuholnikovaPlocha.java
Cieľom tejto sady domácich zadaní je vytvoriť triedu ZadanaKorytnacka
, ktorá rozširuje triedu Turtle
a ktorá obsahuje nižšie predpísané metódy, a triedu TrojuholnikovaPlocha
, ktorá rozširuje triedu WinPane
.
Doplňujúce požiadavky:
Naučte korytnačky triedy ZadanaKorytnacka
metódu emailovaAdresa
, ktoré pre zadané meno a priezvisko zamestnanca UPJŠ vráti jeho e-mailovú adresu. E-mailová adresa zamestnanca UPJŠ má formát meno.priezvisko@upjs.sk
, kde meno a priezvisko sú napísané malými písmenami. Meno a priezvisko osoby sa nachádzajú v parametri osoba
a sú oddelené jednou medzerou.
Príklad:
emailovaAdresa("Janko HRASKO")
= "janko.hrasko@upjs.sk"
emailovaAdresa("Peter Chemik")
= "peter.chemik@upjs.sk"
emailovaAdresa("ALBERT MATEMATIK")
= "albert.matematik@upjs.sk"
Tip: metóda toLowerCase
triedy String
Základným prvkom HTML je značkovanie textu pomocou tagov. Tag je postupnosť znakov ohraničená znakmi <
a >
. Príklad textu s tagmi: Zakladnym prvkom <i>html</i> je <strong>tag</strong>.
Do triedy ZadanaKorytnacka
pridajte metódu odstranTagy
, ktorá vráti referenciu na novovytvorený reťazec, ktorý vznikne zo zadaného reťazca odstránením všetkých tagov.
Príklad:
odstranTagy("Zakladnym prvkom <strong>html</strong> je <b>tag</b>.") = "Zakladnym prvkom html je tag."
Existujú rôzne metódy, ako údaje „zmenšiť“ (kompresné algoritmy) alebo znemožniť ich prečítanie nežiadúcou osobou (šifrovacie algoritmy). V rámci tejto úlohy bude cieľom vytvoriť metódu, ktorá nepovolaným osobám trochu (ale naozaj iba trochu) sťaží prečítanie obsahu správy.
Do triedy ZadanaKorytnacka
pridajte metódu zasifruj
, ktorá zadaný reťazec transformuje na iný reťazec aplikovaním tzv. Jožkovho šifrovača. Nový reťazec zo zadaného reťazca vytvoríme preusporiadaním znakov. Prvý znak v novom reťazci bude prvý znak pôvodného reťazca, druhý znak v novom reťazci bude posledný znak pôvodného reťazca, tretí znak v novom reťazci bude druhý znak pôvodného reťazca, štvrtý znak v novom reťazci bude predposledný znak v pôvodnom reťazci, atď. Jednoducho nový reťazec vznikne striedavým pridávaním znakov zo začiatku reťazca a z konca reťazca, až kým sa „nestretneme“ v strede.
Príklady:
zasifruj("mama vari veceru") = "muarmeac evva ri"
zasifruj("ahoj svet") = "atheovjs "
Samotný kódovač nie je veľmi užitočný bez dekódovača. Do triedy ZadanaKorytnacka
pridajte metódu desifruj
, ktorá vráti dekódovaný reťazec, t.j. taký reťazec, ktorého zakódovaním dostaneme reťazec s rovnakým obsahom ako je parametrom referencovaný reťazec.
Má teda platiť, že s.equals(zasifruj(zakoduj(s))
.
Naprogramujte triedu TrojuholnikovaPlocha
rozšírujúcu triedu WinPane
, ktorá klikaním do plochy bude kresliť body pospájané do trojuholníkov.
Každá trojica kliknutí do plochy vykreslí v ploche trojuholník s vrcholmi v bodoch kliknutia nasledovným spôsobom:
Farba vykresleného bodu je:
Alt
,
Shift
, a
Farba spojovacej čiary závisí od farby bodov, ktoré spája. Ak spájané body majú rovnakú farbu, ich spojnica má tiež túto farbu. Ak body majú rôznu farbu, spojnica má jednu z farieb modrá, zelená alebo červená, no táto farba sa musí líšiť od farby oboch bodov, ktoré spája. Spojnice nesmú prekrývať body, ktoré spájajú (viď obrázok).