Najneskorší termín odovzdania: 25.10.2015 (nedeľa) o 21:00
Odovzdávané súbory: ZadanaKorytnacka.java
, SpojovaciaDoska.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 SpojovaciaDoska
, ktorá rozširuje triedu WinPane
.
Doplňujúce požiadavky:
Naučte korytnačky triedy ZadanaKorytnacka
metódu pismenoLenRaz
, ktorá vráti referenciu na novovytvorený reťazec. Tento reťazec bude obsahovať všetky znaky nachádzajúce sa v zadanom reťazci avšak každý znak len raz. Znaky vo vytvorenom reťazci nech sú usporiadané podľa poradia ich prvého výskytu v zadanom reťazci.
Príklady:
pismenoLenRaz("Domace zadanie") = "Domace zdni"
pismenoLenRaz("pismenoLenRaz") = "pismenoLRaz"
Tip: metóda indexOf
.
Rôzne poruchy nervového a svalového systému výrazne zhoršujú používanie počítačov - zvyčajnými vstupmi sú totiž klávesnica alebo myš. Dôsledkom takýchto porúch (napr. svalový tras a chvenie) môže byť akási obdoba koktavosti. Používateľ vtedy namiesto slova Java
napíše Jaaaavvaa
. Naučte korytnačky triedy ZadanaKorytnacka
metódu odstranDuplicitu
, ktorá vráti referenciu na novovytvorený objekt triedy String
, ktorého obsah vznikne odstránením duplicitných výskytov rovnakého znaku v rade za sebou.
Príklady:
odstranDuplicitu("Jaaavvaaa") = "Java"
odstranDuplicitu("IIIssiel") = "Isiel"
odstranDuplicitu("IIissiel") = "Iisiel"
odstranDuplicitu("Odddstran duuuupllicitu") = "Odstran duplicitu"
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."
Zobrazila sa vám niekedy webová stránka "divne"? Ak áno, možno bol dôvod ten, že tvorca stránky nekorektne uviedol kódovanie obsahu stránky. Okrem nastavenia kódovania zaujímavé riešenie priniesla aj HTML 4: znakové entity. Základná myšlienka spočívala v tom, že špeciálne znaky sa kódovali prostredníctvom sekvencie znakov. Napríklad znak <
sa dá zapísať ako <
alebo ako <
. A práve tá druhá možnosť je pre nás zaujímavá. Konkrétne, akýkoľvek znak môžeme v HTML4 zapísať pomocou znakovej entity ako &#N;
, kde N
je kód tohto znaku v UNICODE kódovaní.
Viac o html znakových entitách nájdete tu:
Naučte korytnačky triedy ZadanaKorytnacka
metódy znakyNaEntity
a entityNaZnaky
. Každá z metód vráti referenciu na novovytvorený reťazec (objekt triedy String
), ktorý obsahuje výsledok prevodu zadaného reťazca.
Metóda znakyNaEntity
(2 body) prevedie každý znak v zadanom reťazci na prislúchajúcu znakovú entitu. Výnimkou sú znaky anglickej abecedy (a-z, A-Z, 0-9), ktoré sa neprevádzajú.
Príklad:
znakyNaEntity("Počítač") = "Počítač"
Metóda entityNaZnaky
(5 bodov) prevedie každý výskyt znakovej entity (kódovanej ako &#N;
) na odpovedajúci znak. Môžete predpokladať korektný vstup, t.j., že prevádzaný reťazec nebude obsahovať znakové entity kódované iným spôsobom (hexadecimálne alebo pomenované znakové entity).
Príklad:
entityNaZnaky("Počítač") = "Počítač"
Pomôcka:
Integer.parseInt()
:
Integer.toString()
:
substring
:
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html
Naprogramujte triedu SpojovaciaDoska
rozšírujúcu triedu WinPane
, ktorá klikaním do plochy spája označené kotviace body. Kotviace body v ploche kreslí metóda kresliKotviaceBody
.
Ako funguje spojovacia doska:
onMouseClicked
) do plochy sa modrou bodkou (so stredom v kotviacom bode) s polomerom 3 označí kotviaci bod, ktorý je najbližšie k miestu kliknutia.
onMouseClicked
) do plochy sa spojí kotviaci bod najbližší k miestu kliknutia s kotviacim bodom, ktorý bol označený pri prvom kliknutí. Počiatočný a koncový bod spojnice sa vyznačia bodkou s polomerom 3 so stredom v týchto kotviacich bodoch. Ak bol pri druhom kliknutí zatlačený Alt
, kreslí sa červená spojnica a jej konce sa vyznačia červenou bodkou. Ak Alt
nebol zatlačený, kreslí sa čierna spojnica a jej konce sa vyznačia čiernou farbou.
Systém kreslenia spojovacích čiar dedukujte zo screenshotu.
"Odfajknutie" metódy v úlohe Spojovacia doska znamená, že sa podarilo zrealizovať všetky testy. Neznamená to, že korytnačka nakreslila to, čo mala.
Očakávané grafické výstupy evaluátora pre korektné riešenie (pozície jednotlivých bodov sa môžu líšiť):
Spojovacia doska
Všimnite si, že evaluátor ako grafické značky kreslí očakávané spojnice svetlejšou farbou.