1 Výnimky, práca so súbormi ============================ 1.1 Vytvorte program, ktorý si vypýta od užívateľa názov adresára, potom rekurzívne prehľadá tento adresár a jeho podadresáre, a v každom súbore s príponou .java zistí, či obsahuje slová "throw", "try" a "throws". Výstupom je takýto prehľad: Najdenych ... suborov s priponou .java. Prezrenych ... suborov. "throw" obsahuje ... suborov. "try" obsahuje ... suborov. "throws" obsahuje ... suborov. ... suborov nebolo mozne prezriet. Ošetrite program tak, aby umožnil zadať nový adresár, ak pôvodne zadaný adresár neexistuje, a aby pokračoval aj keď nedokáže otvoriť niektorý súbor. Pozor: výskyt slova "throws" sa neráta ako výskyt slova "throw". 1.2 Vytvorte program, ktorý si vypýta od užívateľa názov adresára a názov výstupného súboru, potom rekurzívne prehľadá zadaný adresár a jeho podadresáre, a do výstupného súboru vypíše názvy tých nájdených súborov, ktoré boli otvorené na čítanie a tých, ktoré boli otvorené na zápis. Výstup by mal vyzerať takto: Subory otvorene na citanie: ... Subory otvorene na zapis: ... Neotestovane subory: ... Za neotestované súbory považujeme tie, ktoré z nejakých príčin nebolo možné otestovať. Program ošetrite tak, aby umožnil zadať nový adresár, ak pôvodne zadaný adresár neexistuje, a aby sa opýtal, či môže prepísať výstupný súbor, ak pôvodne zadaný súbor existuje. 1.3 Vytvorte triedu Permutacia, ktorej objekty budú predstavovať permutácie (t.j. poradia) čísel 1 až n (n môže byť ľubovoľné). Napíšte metódu na vytvorenie objektu z reťazca tvaru "[3 1 2 4]". Metóda má vyvolať výnimku, ak reťazec nie je v správnom tvare (napr. obsahuje nedovolené symboly, alebo sa niektoré číslo opakuje, prípadne chýba). Vytvorte program, ktorý si vypýta od užívateľa názov súboru a potom skontroluje tento súbor, či na každom riadku obsahuje správne zapísanú permutáciu. Ak nájde chybu, vypíše o tom oznam aj s popisom a lokalizáciou chyby v tvare: Chyba na riadku 3: duplicitny vyskyt [3 1 3 4] ^ Na určenie, či je permutácia zapísaná správne, využite vyvolanú výnimku. Ošetrite program tak, aby umožnil zadať nový súbor, ak pôvodne zadaný súbor nie je možné čítať. 1.4 Vytvorte triedu Zoznam, ktorej objekty budú predstavovať rekurzívne zoznamy prirodzených čísel. Napr. zápisy "[1 2 3]", "[1 [2 3]]", "[]", "[[1 [2 3]] 2 []]" sú zoznamy. Napíšte metódu na vyvtvorenie objektu z reťazca. Metóda má vyvolať výnimku, ak reťazec nie je v správnom tvare (napr. obsahuje nedovolené symboly, alebo zátvorky nie sú spárované). Vyvtorte program, ktorý si vypýta od užívateľa názov súboru a potom skontroluje tento súbor, či na každom riadku obsahuje správne zapísaný zoznam. Ak nájde chybu, vypíše o tom oznam aj s popisom a lokalizáciou chyby v tvare: Chyba na riadku 2: chybajuca "[" 1 [2] ^ alebo Chyba na riadku 3: chybajuca "]" [1 [2 3] ^ alebo Chyba na riadku 5: nadbytocna "]" - zoznam predcasne ukonceny [1 [2 3]] 4 ] ^ Na určenie, či je zoznam zapísaný správne, využite vyvolanú výnimku. Ošetrite program tak, aby umožnil zadať nový súbor, ak pôvodne zadaný súbor nie je možné čítať.