Ciele cvičení:
Integer.parseInt? Nájdite v dokumentácii, akú behovú výnimku môže hodiť?
MojaKorytnacka, ktorá rozšíruje triedu Turtle. Do triedy MojaKorytnacka pridajte metódu retazecNaCislo, ktorá transformuje znakový reťazec na číslo. Ak transformácia nevyjde (napr. reťazec nie je číselným reťazcom), metóda nech vráti hodnotu zadanú parametrom defaultnaHodnota.
File (java.io.File)?
Vytvorte triedu TurtleCommander, ktorá rozširuje triedu Turtle. Pri všetkách nasledujúcich metódach uvažujeme len súbory priamo v zadanom adresári, t.j. nie v podadresároch. Keďže ObjectInspector nepodporuje volanie metód, kde niektorý z parametrov je referencia na objekt triedy File, na overenie toho, či sme naprogramovali metódy správne, budeme testovacie "príkazy" písať do metódy main v "spúšťači".
TurtleCommander metódu, ktorá vypíše názvy všetkých súborov a adresárov v zadanom adresári:
TurtleCommander metódu, ktorá vráti počet súborov (nie adresárov) v zadanom adresári:
TurtleCommander metódu, ktorá vráti súčet veľkosti súborov (nie adresárov) v zadanom adresári:
TurtleCommander metódu, ktorá overí, či sa v oboch zadaných adresároch nachádza nejaký súbor (pozor, nie adresár) s rovnakým menom:
TurtleCommander pridajte metódu trest, ktorá do zadaného súboru vypíše reťazec zadaný počet krát:
trest.txt?
TurtleCommander pridajte metódu unicodeKody, ktorá do zadaného súboru vypíše znaky a ich kódy. Vypíšte iba znaky, ktorých kódy sú zo zadaného intervalu.
Vytvorte triedu KlikaciaPlocha, ktorá bude rozširovať triedu WinPane. Klikacia plocha nech funguje tak, že pri kliknutí do plochy sa mieste kliknutia nakreslí bodka náhodného polomeru medzi 2 až 5. Do triedy KlikaciaPlocha pridajte metódu ulozKlikyDoSuboru, ktorá ako parameter dostane názov súboru (alebo referenciu na objekt triedy File s názvom súboru). Táto metóda nech uloží do zadaného súboru informácie o všetkých nakreslených bodkách od vytvorenia plochy. Informácia o jednej bodke nech je v jednom riadku súboru a skladá sa z 3 čísel: x-ová súradnica stredu bodky, y-ová súradnica stredu bodky a polomer bodky. 
Môžete predpokladať, že nikdy sa nespraví viac ako 1000 bodiek od vytvorenia kresliacej plochy (t.j. nemeňte veľkosť poľa po každom kliknutí).
Príklad súboru:
100 121 3.5
10 252 2.5
241 139 4.0
Do triedy KlikaciaPlocha pridajte "protimetódu", ktorá na základe obsahu textového súboru s vyššie opísaným formátom nakreslí do kresliacej plochy v ňom uložené bodky.
Upozornenie: Ak chcete použiť ObjectInspector na zavolanie metód objektov triedy KlikaciaPlocha pracujúcich so súbormi, musíte použiť verziu s parametrami typu String.
Vytvorte triedu Analyzatorka, ktorá rozširuje triedu Turtle a ktorá bude poskytovať základné spracovanie textových súborov.
Analyzatorka metódu, ktorá ako parameter dostane názov súboru (prípadne referenciu na objekt triedy File). V tomto súbore sú len celé čísla oddelené medzerami (v jednom riadku môže byť aj viacero čísel). Vytvorená metóda nech vráti priemer čísel v súbore.
Analyzatorka metódu, ktorá ako parameter dostane názov súboru (prípadne referenciu na objekt triedy File). Vytvorená metóda nech vráti počet riadkov v súbore.
Vytvorte triedu RiadenaKorytnacka, ktorá bude rozširovať triedu Turtle. Do triedy RiadenaKorytnacka pridajte metódu podlaSuboru. Táto metóda dostane ako parameter názov (resp. cestu k) súboru s príkazmi pre korytnačku. Na cvičení stačí, ak naprogramujete vykonanie aspoň jedného príkazu bez parametrov a aspoň jedného príkazu s parametrami.
Pre obsah súboru s príkazmi platia tieto pravidlá:
center
penDown
penUp
step (1 parameter)
turn (1 parameter)
dot (1 parameter)
setPosition (2 parametre)
moveTo (2 parametre)
Príklad vstupného súboru:
setPosition 100 170
step 100
turn 120
dot 5
step 100
turn 120
dot 5
step 100
turn 120
dot 5
Rada: Vytvorte si pomocnú metódu, ktorá dostane ako parameter jeden riadok súboru (jeden príkaz) a vykoná príkaz v tomto riadku. Na spracovanie riadka použite Scanner znakového reťazca.
Pre fajnšmekrov: vymyslite taký formát vstupného súboru, aby umožňoval zopakovať nejakú postupnosť príkazov zadaný počet krát (niečo ako for-cyklus s pevným počtom opakovaní).
Pri načítavaní čísel s desatinnou časťou sa môže ukázať na počítačoch so slovenskou lokalizáciou problém. Scanner môže byť "zmätený" z toho, že sa na vstupe objaví číslo, ktoré namiesto "slovenskej" desatinnej čiarky (3,14) obsahuje "americkú" desatinnú bodku (3.14). Poznamenajme, že pri zapisovaní čísel s desatinnou časťou do súborov ich PrintWriter zapíše s desatinnou bodkou (nie čiarkou). Aby sme tento problém vyriešili, dohodnime sa, že pred načítavaním čísel s desatinnou časťou cez Scanner (metóda nextDouble, resp. hasNextDouble) zmeníme "lokalizačné" nastavenia pre Scanner zavolaním metódy useLocale:
Toto "lokalizačné" nastavenie povie Scanner-u, že má čísla s desatinnou časťou čítať "po americky", teda ako oddeľovač desatinnej časti čísla sa očakáva bodka.
Niekedy je potrebné súčasne čítať jeden súbor a zapisovať do iného súboru. Na túto činnosť môžeme použiť takúto schému:
Java 7 priniesla (okrem mnohých iných vecí) aj novinku vo forme try príkazov s manažovaním zdrojov. Z hľadiska programátora to znamená, že nemusí písať finally blok, v ktorom zatvorí otvorené zdroje, resp. súbory (PrintWriter, Scanner, ...) - zatvorenie sa uskutoční automaticky.
Príklad čítania textového súboru v Jave 7:
Príklad čítania a zapisovania textového súboru v Jave 7:
Pri prvých krokoch so Scannerom môže pomôcť knižnica VisualScanner: VisualScanner.jar