Sunteți pe pagina 1din 1

PROBLEME PROPUSE

42. S se defineasc clase iterator incluse pentru arborele binar din problema anterioar, pentru cele 4
moduri de vizitare a nodurilor. Clasa arbore va contine si 4 metode cu rezultat Iterator care
instantiaz aceste clase.
43. S se defineasc o clas "Table" pentru o matrice de obiecte, cu metodele: "toString" si
"sort(col)". Metoda "sort" ordoneaz matricea dup valorile dintr-o coloan dat "col" si apeleaz
metoda "Arrays.sort" cu un al doilea parametru de tip Comparator. Clasa comparator de linii se va
defini mai nti ca o clas cu nume inclus n clasa "Table" si apoi ca o clas anonim inclus n
metoda "sort". O matrice este un vector de vectori(de linii), iar metoda "compare" compar dou linii
dup valorile dintr-o coloan dat. Se presupune c obiectele din matrice sunt dintr-o clas
compatibil cu Comparable si deci suport metoda "compareTo". Program pentru reordonarea unui
obiect "Table" dup toate coloanele posibile cu afisare dup fiecare ordonare. Obiectul "Table" poate
fi creat pe baza urmatoarei matrice de siruri:
String a[][]= {{"5","2","3"},{"4","1","6"},{"1","7","0"},{"1","1","1"}};
44. Un fisier text contine linii formate din mai multe cuvinte separate prin spatii albe. S se
defineasc o clas "LineList" pentru o list de linii creat pe baza unui fisier (constructor cu numele
fisierului). Clasa contine o metoda "sort" de ordonare a listei de linii dup un cuvnt dat din linie (prin
numrul su n cadrul liniei, ncepnd cu 1). Programul pentru verificarea clasei primeste n linia de
comand numele fisierului si numrul cuvntului dup care se ordoneaz. Liniile ordonate se afiseaz
pe ecran. Pentru ordonare se apeleaza functia "Arrays.sort" cu parametru de tip Comparator. Clasa
comparator este definit ca o clas inclus n clasa "LineList" si apoi ca o clas inclus n blocul
metodei "sort" (anonim). Se consider c fisierul poate fi citit integral n memoria intern.
45. S se defineasc o clas "ReaderWriter" pentru fisiere cu operatii pe caractere si care
suport att operatii de citire ct si operatii de scriere. Clasa preia metode de la clasele FileWriter
(prin mostenire) si de la FileReader (prin delegare). Metode din clasa "ReaderWriter": read, write,
close, reset (repozitionare pe nceput de fisier).
Program pentru crearea unui fisier urmat de citirea lui, folosind clasa ReaderWriter.
46. Program pentru crearea unui fisier comprimat (format gzip) dintr-un fisier text si
decomprimarea pentru afisarea fisierului, folosind obiecte GZIPOutputStream si GZIPInputStream
construite pe baza unor obiecte FileOutputStream si respectiv FileInputStream. Se vor folosi metode
de citire/scriere octet read si write.
47. S se defineasc o clas pentru citire cu conversie dintr-un fisier text (dintr-un flux)
paralel cu clasa PrintStream. Metode: readString, readInt, readFloat.
Se ignor spatiile albe dintre siruri la citire. Clasa poate extinde fie clasa Reader, fie clasa
FilterInputStream si foloseste o variabil StringTokenizer. Clasa are un constructor fr argumente,
pentru citire de la consol, si un constructor cu argument String, pentru citire dintr-un fisier. Se poate
utiliza si clasa StreamTokenizer.

S-ar putea să vă placă și